Home

Awesome

Stackoverflow-Clone-Backend

Version NPM NODE MYSQL License

🌐 Website | 📹 Demo Video

API Hosted On

As the name suggests, this project is a clone of a famous Q/A website for professional and enthusiast programmers built solely by me using a completely different stack.

This repo consists of the Backend code of the project, the backend code is in Stackoverflow-Clone-Frontend

My Tech Stack (MERN)

Front-end

Back-end

Guidelines to setup

There are two ways to setup the project: manually or using the Dockerfile. Read below for more details:

Manual Setup

  1. Open your local CLI -

    mkdir Stackoverflow-Clone
    cd Stackoverflow-Clone
    
  2. Setup the backend code -

    • Create a .env file and the format should be as given in .env.example.

    • Clone the code & install the modules-

      git clone https://github.com/Mayank0255/Stackoverflow-Clone-Backend.git
      cd Stackoverflow-Clone-Backend
      
      npm install
      
    • Open your MySQL Client -

      CREATE DATABASE stack_overflow;
      

      NOTE: Don't forget to keep the database name same in the .env and here.

    • Run the index npm start.

  3. Open a new CLI terminal and goto the root Stackoverflow-Clone folder you created in the first step.

  4. Setup the Frontend code -

    • Clone the code & install the modules-

      git clone https://github.com/Mayank0255/Stackoverflow-Clone-Frontend.git
      cd Stackoverflow-Clone-Frontend
      
      npm install
      
    • Run the client index npm start.

Docker Setup

The back-end has support for Docker. So if you want to run the back-end in a container, you need do:

The default port of api is 5000. After running the container, you can access the api by typing:

http://localhost:5000/api/<endpoint that you request - see next section>

Follow the steps properly (manual or Docker) and you are good to go.

API Endpoints

API is currently hosted on stackoverflow-clone-api.onrender.com and stackoverflow-clone-backend.herokuapp.com.

You can view and read the API endpoints samples here. This is API documentation for the back-end.

But, if you want use Postman to test the API in local machine, you need to follow the steps below:

Base Url - {API_URL}/api

Users

Posts

Answers

Comments

Tags

Contributing

DEMO

VIDEO - Watch the video

Video Last Updated on 7th March, 2022

IMAGES

<img src="/demo/images/1.png" width=340px /><img src="/demo/images/2.png" width=340px /> <img src="/demo/images/3.png" width=340px /><img src="/demo/images/4.png" width=340px /> <img src="/demo/images/5.png" width=340px /><img src="/demo/images/6.png" width=340px />