Skip to content

This is server part of a MERN (Instagram-Clone-Basic) app where users can create accounts, share media, follow others, and chat in real-time. Built with Node.js, TypeScript, Express, and MongoDB, it offers personalized feeds, notifications, and is Docker-ready for easy deployment.

License

Notifications You must be signed in to change notification settings

rahulranjandev/instagram-clone-backend

Repository files navigation

Instagram-Clone-Backend

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.

🚀 Getting Started

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.

🌟 Features

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).

Prerequisites

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)

Installation Steps

Here’s how you can set up your development environment in just a few simple steps:

  1. Clone the repository:

    git clone https://github.com/rahulranjan937/instagram-clone-backend.git
    cd Simple-Social-Media-App
  2. Install dependencies:

    npm install
  3. Set up environment variables:

    cp .env.example .env

    Then, open the .env file and replace the placeholder values with your own.

  4. Start the server in development mode:

    npm run dev
  5. 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

Running with Docker

If you prefer using Docker, follow these steps to get started:

  1. Build the Docker image:

    docker build -t instagram-clone-backend .
  2. Run the Docker container:

    docker run -d -p 3000:3000 --env-file .env instagram-clone-backend

📚 API Documentation

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.

👥 Authors

Crafted with care by Rahul Ranjan.

This project has been modified and adapted to create an engaging Instagram-Clone-Backend experience. Happy coding!

About

This is server part of a MERN (Instagram-Clone-Basic) app where users can create accounts, share media, follow others, and chat in real-time. Built with Node.js, TypeScript, Express, and MongoDB, it offers personalized feeds, notifications, and is Docker-ready for easy deployment.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published