/Stack-Underflow

Just like sttackoverflow, question and answer site for professional and enthusiast programmers based on MERN stack with Realtime comment and Answer Fetch.

Primary LanguageJavaScriptMIT LicenseMIT

Stack Underflow

Question Answering site based on Node and React (MERNG Stack). [Demo]

Snapshots

HomePage

HomePage

Dashboard

Dashboard

UploadImage

UploadImage

Register

Register

SinglePost

SinglePost

Features

  • Authentication and Authorization (includes Email verification)
  • Create Question
  • Create Answer
  • Upvote Downvote Question and Answer
  • Create Comment
  • Filter questions based on tags
  • Serverside Pagination
  • Search Question
  • Dashboard for basic Statistics
  • Featured Posts
  • Forgot password
  • User Points
  • Recommanded questions
  • Upvote Downvote comments
  • Two-factor authentication
  • OAuth login with Google, Facebook, and Github
  • Answer Accepted
  • Specific blogs for posts and tutorials

Prerequisite

  • Node.js

Env Variables

Edit a .env file in client folder

REACT_APP_BACKEND_URL = "your backend url"
REACT_APP_WEBSOCKET = "your backend websocket"

For Example

REACT_APP_BACKEND_URL = "http://localhost:5000"
REACT_APP_WEBSOCKET = "ws://localhost:5000"

Create a config.js file in server folder and add the following

Make Sure to connect to gmail api at google developer console

module.exports = {
    MONGODB = your mongo url
    SECRET_KEY = your JWT token
    EMAIL_ID = your email Id 
    PASSWORD = password for email Id
    EMAIL_SECRET = your email secret
    CLIENT_ID = your client Id
    CLIENT_SECRET = your client secret
    REDIRECT_URI = https://developers.google.com/oauthplayground
    REFRESH_TOKEN = your refresh token
};

Setup Locally

git clone https://github.com/Accel-Byte/Stack-Underflow.git
cd stack-underflow

Client

cd client
npm install
npm start

Server

cd server
npm install
npm run serve

🎉 And that's it! You will now be able to visit http://localhost:3000/ URL and see your application up and running.

Thanks

  • I'd appreciate a star if you find this helpful.

License

MIT