Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Feature-rich ‘stack overflow’ (QnA site) clone. Made w/ MERN stack + GraphQL.

License

Notifications You must be signed in to change notification settings

Bind-Forward/stack-underflow

Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
91 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stack Underflow | SOF Clone | MERN-GraphQL

Fullstack Stack Overflow clone (QnA site) made with MERN + GraphQL

Demo

Deployed on Netlify (front-end) & Heroku (back-end)

Built using

Front-end

Back-end

  • Node.js - Runtime environment for JS
  • Apollo Server - To build a self-documenting GraphQL API server
  • MongoDB - Database to store document-based data
  • Mongoose - MongoDB object modeling for Node.js
  • JSON Web Token - A standard to secure/authenticate HTTP requests
  • Bcrypt.js - For hashing passwords
  • Mongoose Unique Validator - Plugin for better error handling of unique fields within Mongoose schema
  • Dotenv - To load environment variables from a .env file

Features

  • Authentication (login/register with username-password)
  • CRUD questions, answers & comments
  • Upvote/downvote questions & answers
  • Tags for organising questions
  • Page views - A view is registered whenever the question page is opened
  • Pages for added tags, registered users & more
  • Sorting of questions on basis of hot, votes, views, newest & oldest
  • Search questions over the server on basis of question title & body
  • Pagination of posts in the form of "Load More" button
  • Error management to prevent app crashes
  • Toast notifications for actions: adding questions, deleting comments etc.
  • Loading spinners for relevant fetching processes
  • Formatted dates for adding/updating questions/answers/comments
  • Dark mode toggle w/ local storage save
  • Proper responsive UI for all screens

Screenshots

Desktop/Tablet

Desktop-1 Desktop-2 Desktop-3 Desktop-4 Desktop-5

Mobile

Mobile-1 Mobile-2 Mobile-3 Mobile-4 Mobile-5

Usage

Env variable:

Create a .env file in server directory and add the following:

MONGODB_URI = "Your Mongo URI"
PORT = 4000
SECRET = "Your JWT secret"

Client:

Open client/src/backendUrl.js & change "backend" variable to "http://localhost:4000"

cd client
npm install
npm start

Server:

Note: Make sure that you have installed 'nodemon' as global package.

cd server
npm install
npm run dev

About

Feature-rich ‘stack overflow’ (QnA site) clone. Made w/ MERN stack + GraphQL.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 98.6%
  • Other 1.4%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.