All Projects → elit-altum → Finstagram-The-Instagram-Clone

elit-altum / Finstagram-The-Instagram-Clone

Licence: other
A full stack web-app to de-clutter social media by filtering posts limited to geographical locations and sorting them on community reputation! 📸

Programming Languages

javascript
184084 projects - #8 most used programming language
SCSS
7915 projects
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to Finstagram-The-Instagram-Clone

Clone Wars
100+ open-source clones of popular sites like Airbnb, Amazon, Instagram, Netflix, Tiktok, Spotify, Whatsapp, Youtube etc. See source code, demo links, tech stack, github stars.
Stars: ✭ 12,604 (+23681.13%)
Mutual labels:  instagram, clone
Firebase Instagram
📸 Instagram clone with Firebase Cloud Firestore, Expo, and React Native 😁😍
Stars: ✭ 389 (+633.96%)
Mutual labels:  instagram, clone
mern-stack-crud
MERN stack (MongoDB, Express, React and Node.js) create read update and delete (CRUD) web application example
Stars: ✭ 142 (+167.92%)
Mutual labels:  mongoosejs, mern-stack
Flutter Instagram Ui Clone
Instagram Ui Clone made using Flutter.
Stars: ✭ 412 (+677.36%)
Mutual labels:  instagram, clone
instagram-api-clone
Instagram RESTful API clone made with Django REST framework
Stars: ✭ 56 (+5.66%)
Mutual labels:  instagram, clone
InstaResponder
Instagram Auto DM responder with DialogFlow 🔥
Stars: ✭ 42 (-20.75%)
Mutual labels:  instagram
alternative-front-ends
Overview of alternative open source front-ends for popular internet platforms (e.g. YouTube, Twitter, etc.)
Stars: ✭ 1,664 (+3039.62%)
Mutual labels:  instagram
FCommunity
multi Checkers (Hma/Hulu/Spotify/Call of duty/Instagram/smtp2go/VyprVpn) in One Tool Named FCommunity
Stars: ✭ 26 (-50.94%)
Mutual labels:  instagram
Social-Media-Monitor
Automatically monitor and log fan counters from social media(Facebook Pages, Twitter, Instagram, YouTube, Google+, OneSignal, Alexa) using APIs to Google Spreadsheet. Very useful for website admins and social media managers.
Stars: ✭ 36 (-32.08%)
Mutual labels:  instagram
dark
🌛 Dark themes / mode for Rambox, Franz or Ferdi messaging services
Stars: ✭ 93 (+75.47%)
Mutual labels:  instagram
linearapp clone
A Linear App clone with React and Tailwind CSS
Stars: ✭ 125 (+135.85%)
Mutual labels:  clone
peek
1-click from git repo to local editor
Stars: ✭ 22 (-58.49%)
Mutual labels:  clone
bot
Completely free and open-source human-like Instagram bot. Powered by UIAutomator2 and compatible with basically any Android device 5.0+ that can run Instagram - real or emulated.
Stars: ✭ 321 (+505.66%)
Mutual labels:  instagram
HeadOverHeels
The free and open source remake of game Head over Heels
Stars: ✭ 15 (-71.7%)
Mutual labels:  clone
go-instagram
Instagram private API in Go
Stars: ✭ 71 (+33.96%)
Mutual labels:  instagram
insta-feed.js
Show your Instagram profile on your website. 🌈
Stars: ✭ 25 (-52.83%)
Mutual labels:  instagram
modx-instagram-latest-posts
This snippet allows us to get the latest posts of any Instagram user. Access tokens are NOT required.
Stars: ✭ 20 (-62.26%)
Mutual labels:  instagram
candycrushreact
Candy crush app with React Js
Stars: ✭ 12 (-77.36%)
Mutual labels:  clone
SocialInfo4J
fetch data from Facebook, Instagram and LinkedIn
Stars: ✭ 44 (-16.98%)
Mutual labels:  instagram
isave-app
Instagram tool to download image, video and reels - App
Stars: ✭ 17 (-67.92%)
Mutual labels:  instagram

Finstagram - The Instagram Clone

A MERN Stack Clone of the social networking giant - Instagram

Setting Up

A. Clone and install packages

  1. Fork this project from the top right of the screen to create a copy of the code.

  2. Download your fork of the project locally on your machine or clone it using

     git clone [email protected]:<your-username>/MERN-Instagram-Clone.git
    
  3. Navigate to the folder and run npm i for installing all packages & dependencies for the server/backend via npm.

  4. Navigate to the client and run yarn to install all dependencies & packages required for the frontend via yarn.

B. Create API secrets for external services

  1. This project uses external services and APIs which require a secret/API pass-key for operations. Please ensure you obtain a pass-key from all these sources before running the project locally.
    • Cloudinary : For storing & fetching images.
    • SendGrid : For sending emails to users upon signup.
    • MapBox : For geo-encoding locations on posts.
    • MongoDB : Either a cloud hosted cluster on Mongo Atlas or your local mongo URL.

C. Create a .env file for serving secrets

  1. On the root of your project create a new file named config.env or run

    touch config.env
  2. Add the following content to the file

    NODE_ENV=development
    
    APP_NAME=My-Insta-Clone
    
    MONGO_SRV=<MONGO_CLUSTER_SECRET> || mongodb://localhost:27017/insta-clone
    
    JWT_SECRET=<24_BIT_RANDOM_STRING_FOR_ENCODING_JWT>
    JWT_EXPIRE=90d
    
    CLOUDINARY_URL=<UNIQUE_CLOUDINARY_URL>
    
    COOKIE_EXPIRE=60
    
    SENDGRID_API_KEY=<UNIQUE_SENDGRID_API_KEY>
    SENDGRID_SENDER_EMAIL=<EMAIL_ID_FOR_SENDING_WELCOME_EMAILS>
    

Important: A trial version of the Mapbox Access Token, which is provided while following the Mapbox tutorials, has been hardcoded here. You can change it with a personal token if you want, as the trial token may effect the number of requests you can make to the Mapbox API.

D. Run the project locally

  1. Start the express server (via nodemon) for the backend. By default, it starts on port: 3001

    npm run dev
    
  2. Navigate to the client to start the webpack dev server. By default, it starts on port: 3000.

    cd client/
    yarn start
    

Important: The front-end has an already configured proxy to port: 3001 to avoid the browser's CORS denial. If you are changing the port for the express server / backend. Please ensure to make a change here as well.

If you face any trouble setting up the project locally please feel free to open an issue here.

E. Backend API Testing

More than 35 test cases have been written to test the backend REST API routes using Jest & Supertest

Jest Coverage:

Running the test suites:

npm test

Running Jest with the --watch mode:

npm run test-dev

F. Further Information

  1. View the project report & engineering choices made here.
  2. View the API Docs built using Postman documentation here.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].