IITG stackoverflow

IITG-StackOverflow

Description

We want to connect the people who have knowledge to the people who need it.
As a team of 5 developers, we built this Q&A portal to help other developers gain and share insights into a problem.

Tech Stack [MERN]

Front-end

  • Front-end Framework: React.js (with Redux)
  • Styling: Tailwind CSS

Back-end

  • For handling server requests: Node.js with Express.js Framework
  • As Database: MongoDB
  • API tested using: POSTMAN
  • Authentication: JWT

Guidelines to setup

This application requires Node.js

  1. Clone the project

    git clone https://github.com/joat28/iitg-stack-overflow
    
  2. Create a .env file in /server folder, and setup Environment Variables.

  3. Run these commands then -

    npm install
    cd client
    npm install
    
  4. To start the client and the server

    node server/index.js 
    cd client
    npm start
    

NOTE: Might take sometime to start as there will be 2 servers running.

Environment Variables

To run this project, you will need to add the following environment variables to your .env file PORT, DB_URI, JWT_SECRET_TOKEN

API Endpoints

Base Url -

http://localhost:5000/api

Auth

  • POST /login
  • POST /register
  • DELETE /logout

User

  • GET /users
  • GET /user/:user_id
  • PATCH /user/:user_id

Answer

  • PATCH /answer/:answer_id
  • PATCH /answer/vote/:answer_id
  • DELETE /answer/:answer_id
  • DELETE /posts/answers/:id

Questions

  • GET /question
  • GET /question/:question_id
  • GET /question/top
  • GET /question/topTags
  • GET /question/answers/:question_id
  • POST /question/answers/:question_id
  • POST /question/ask
  • POST /question/tags/:pathname
  • PATCH /question/:question_id
  • PATCH /question/vote/:question_id
  • DELETE /question/:question_id

Screenshots

Register

Register-Screen

Login

Login-Screen

Home

Home-Screen

Ask

Ask-Screen

Question

Question-Screen

Answer

Answer-Screen

Search

Search-Screen

Users

Users-Screen

Profile

Profile-Screen

NotFound

NotFound-Screen

Acknowledgements

Authors

Free Software, Hell Yeah!