Instaclone Save

An instagram clone created with the MERN stack

Project README

Instaclone banner

Instaclone

An instagram clone created with MongoDB, Express, React, and Socket.io

Showcase GIF

Tech


Installation - Development

Clone

  • Clone this repo to your local machine using https://github.com/Sandermoen/instaclone

Setup

Install npm dependencies using npm install

$ npm install && cd client && npm install

Set up a MongoDB database either locally or provision a free database with MongoDB Atlas

Create a free Cloudinary account

Create a GitHub OAuth app

Create a .env file in the root directory

Set up required environment variables

MONGO_URI= // mongodb://localhost:27017/instaclone
JWT_SECRET= // random string: j2390jf09kjsalkj4r93
CLOUDINARY_API_KEY= // Cloudinary API key
CLOUDINARY_API_SECRET= // Cloudinary API secret
CLOUDINARY_CLOUD_NAME= // Cloudinary cloud name
SMTP_HOST= // mail.example.com
SMTP_PORT= // 587
EMAIL_USERNAME= // [email protected]
EMAIL_PASSWORD= // Password
HOME_URL= // http://localhost:3000
GITHUB_CLIENT_ID= // Client id for GitHub OAuth app
GITHUB_CLIENT_SECRET= // Client secret for GitHub OAuth app
MODERATECONTENT_API_KEY= // Free API key from https://moderatecontent.com

In the root directory run both the backend and the front end with the following command

$ npm run dev

The app should launch automatically, enjoy playing around 😄


Installation - Production with Docker

Clone

  • Clone this repo to your local machine using https://github.com/Sandermoen/instaclone

Setup

Create a free Cloudinary account

Create a GitHub OAuth app

Create a .env file in the root directory

Set up required environment variables

MONGO_URI= // mongodb://mongo:27017/instaclone
JWT_SECRET= // random string: j2390jf09kjsalkj4r93
CLOUDINARY_API_KEY= // Cloudinary API key
CLOUDINARY_API_SECRET= // Cloudinary API secret
CLOUDINARY_CLOUD_NAME= // Cloudinary cloud name
SMTP_HOST= // mail.example.com
SMTP_PORT= // 587
EMAIL_USERNAME= // [email protected]
EMAIL_PASSWORD= // Password
HOME_URL= // http://localhost:3000
GITHUB_CLIENT_ID= // Client id for GitHub OAuth app
GITHUB_CLIENT_SECRET= // Client secret for GitHub OAuth app
MODERATECONTENT_API_KEY= // Free API key from https://moderatecontent.com

In the root directory start the docker container by using the docker-compose file using the following command

$ docker-compose up

Docker will configure the rest for you, the project should be available on port 9000 unless you specified otherwise 😄


Screenshots

Showcase GIF Showcase GIF Showcase GIF Showcase GIF

Support

Reach out to me at one of the following places!

Open Source Agenda is not affiliated with "Instaclone" Project. README Source: Sandermoen/instaclone
Stars
668
Open Issues
40
Last Commit
1 year ago
License

Open Source Agenda Badge

Open Source Agenda Rating