Instagram Clone | Social Media Application
Web UI | Mobile UI |
---|---|
Frontend | Backend |
---|---|
React | GraphQL + Express |
TailwindCSS | TypeORM, PostgreSQL |
Apollo Client | Apollo Server |
node v^14.5
yarn v^1.22.5
- required for file upload feature to work on backendgit
- version control- PostgreSQL - Database
- Cloudinary Account
- Clone the repo -
git clone https://github.com/aseerkt/apollo-instagram-clone.git
- Go to server folder -
cd server
- Install dependencies -
yarn
- Make sure PostgreSQL and Redis/MongoDB databases are ready for connection.
- Create
.env
file with the commandcp .env.exmaple .env
and fill in necessary fields - Provide your PostgreSQL connection config in
ormconfig.js
- Start the development server -
yarn dev
- Go to url http://localhost:5000/graphql for GraphQL playground.
- Seed the db with mock data if needed.
yarn seed
- Go to client folder -
cd client
- Install dependencies -
yarn
cp .env.example .env
and fill the fields in the file.env
- Start the react development server -
yarn start
- Go to url http://localhost:3000
- JWT cookie based authentication
- Upload images to cloudinary
- Add, like or unlike post
- Comment on post
- Edit Profile Photo with Image Crop
- Edit Profile Credentials
- Post pagination
- Edit / Delete post
- Follow / Unfollow Feature
- Follow Suggestions
- Post Feed based on followings
- Hashtag support
- Smiley support for caption and comments
- Mention poeples in caption and comments
- Notifications
- This project is licensed under the MIT License - see the LICENSE.md file for details