The objective of this project is to create a light version of the popular website stackoverflow
- Documentation
- System Requirements
- Technologies
- Installation
- Testing
- [ThoughtProcess](#thought process)
The API documentation is available here.
Your system will need to have the following software installed. For mongoDB, a connection string from mongoDB atlas should do:
- nodeJS/express
- JWT(authentication)
- mongoDB
- pusher(notifications)
- redis
- mocha and chai
git clone https://github.com/danoseun/SOClone
cd SOClone
Add the connection string gotten from mongoDB atlas to the .env file in your project.
Include necessary variables as found in .env.sample into .env
npm i
npm run start:dev
npm test(All tests are passing).
-
For registration/signup, users have to provide their firstname,lastname,email,username and password.
-
Login(username and password) returns only the token.
-
Currently, you have to upvote a question before downvoting.
-
You can also search for questions by title and users by username.
-
All search requests are case insensitive and
like
searches which means it returns results similar to what you entered in the query string irrespective of the case orientation. -
Only the GET /questions route is unprotected, all other routes are private.