Welcome to Instagram-Clone-Backend, a dynamic and interactive social media app built with Node.js, TypeScript, Express, and MongoDB. This project empowers users to create accounts, share media, and connect by following each other. Designed using the robust MVC pattern, this app serves as an excellent learning tool for anyone interested in mastering the development of social media applications. Please note that this is a work in progress and is not intended for production use.
Ready to dive in? Follow these steps to get the project up and running on your local machine for development and testing purposes. For live system deployment, check out the deployment section.
This project includes the following features to provide a comprehensive social media experience:
- User Authentication: Securely create accounts, log in, and manage user sessions.
- Post Media: Upload and share photos and videos with your followers.
- Follow Users: Follow other users to see their posts in your feed.
- Feeds: View a curated feed of posts from the users you follow.
- Chat Function: Real-time messaging with other users to stay connected.
- Notifications: Stay updated with notifications for likes, comments, and new followers (coming soon).
Ensure you have the following software installed:
- Node.js - Download and install from Node.js.
- Postman - Download and install from Postman. (Optional)
- Docker - Download and install from Docker. (Optional)
Here’s how you can set up your development environment in just a few simple steps:
-
Clone the repository:
git clone https://github.com/rahulranjan937/instagram-clone-backend.git cd Simple-Social-Media-App
-
Install dependencies:
npm install
-
Set up environment variables:
cp .env.example .env
Then, open the
.env
file and replace the placeholder values with your own. -
Start the server in development mode:
npm run dev
-
Start the server in production mode:
Before starting the server in production mode, you need to build the TypeScript files:
npm run build
Then, start the server:
npm start
If you prefer using Docker, follow these steps to get started:
-
Build the Docker image:
docker build -t instagram-clone-backend .
-
Run the Docker container:
docker run -d -p 3000:3000 --env-file .env instagram-clone-backend
Detailed documentation for the API endpoints is available in the API_Documentation.md
file. This will guide you through using the various features and endpoints of the app.
Crafted with care by Rahul Ranjan.
This project has been modified and adapted to create an engaging Instagram-Clone-Backend experience. Happy coding!