Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wastech/stack-overflow-clone
The API provided is a replica of Stack Overflow, designed to assist users in finding timely and relevant answers to their questions. It is developed using a technology stack comprising MongoDB, Express, Node.js, and Mongoose, known as the MEVN stack.
https://github.com/wastech/stack-overflow-clone
backend-api bcryptjs clone-app dotenv express-validator expressjs jwt jwt-authentication mongodb mongoose mongoosejs morgan-middleware nodejs nodemailer passportjs stackoverflow
Last synced: about 1 month ago
JSON representation
The API provided is a replica of Stack Overflow, designed to assist users in finding timely and relevant answers to their questions. It is developed using a technology stack comprising MongoDB, Express, Node.js, and Mongoose, known as the MEVN stack.
- Host: GitHub
- URL: https://github.com/wastech/stack-overflow-clone
- Owner: wastech
- License: mit
- Created: 2022-04-07T06:51:48.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-13T18:54:05.000Z (4 months ago)
- Last Synced: 2024-09-14T09:50:31.035Z (4 months ago)
- Topics: backend-api, bcryptjs, clone-app, dotenv, express-validator, expressjs, jwt, jwt-authentication, mongodb, mongoose, mongoosejs, morgan-middleware, nodejs, nodemailer, passportjs, stackoverflow
- Language: JavaScript
- Homepage: https://stackoverflowapp-wastech.vercel.app/
- Size: 281 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# stack-overflow-api-clone
>The API provided is a replica of Stack Overflow, designed to assist users in finding timely and relevant answers to their questions. It is developed using a technology stack comprising MongoDB, Express, Vue.js,Node.js, and Mongoose, known as the MEVN stack. This combination of technologies enables efficient data storage and retrieval, seamless communication between the client and server, and easy management of the API's functionality.![st1](https://user-images.githubusercontent.com/56930241/167307506-9ee770ec-a869-43c2-a468-cb439819469a.png)
![st2](https://user-images.githubusercontent.com/56930241/167307272-4356d782-10cf-45c7-99a1-0da1288833ec.png)
![st3](https://user-images.githubusercontent.com/56930241/167307275-49abe8ba-43a5-4855-998e-c1ccdd9311bc.png)
![st4](https://user-images.githubusercontent.com/56930241/167307276-691ddc17-3aa5-4b64-98ab-669e86db1616.png)
![st5](https://user-images.githubusercontent.com/56930241/167307280-9547a67b-dc7a-49ef-a81e-66e88da7d6a5.png)
e-430171df01fe.png))
#### Features
>CRUD (Create, Read, Update And Delete)>
* Authentication with JWT (Reset Password with email)
- Login
- Register
- Forgot Password
* API Security (NoSQL Injections, XSS Attacks, http param pollution etc)
* Ask Question
* View Questions
* Upvote or downvote question
* Answer Question
* Search (Questions,Tags, Answers and Users)### Stack
* NodeJS
* Authentication with jsonwebtoken
* MongoDB
* ExpressJS
* Mongoose### Configuration File
Rename the config/.env.example to .env, then modify to your environment variables, mongodb uri, set your JWT_SECRET and SMTP variables
```
NODE_ENV=development
PORT=3000
MONGO_URI=YOUR_URL
JWT_SECRET=YOUR_SECRET
JWT_EXPIRE=30d
JWT_COOKIE_EXPIRE=30
SMTP_HOST=smtp.mailtrap.io
SMTP_PORT=2525
SMTP_EMAIL=
SMTP_PASSWORD=
[email protected]
FROM_NAME=wastech
```
### HTTP Requests
All API requests are made by sending a secure HTTPS request using the GET, POST, PUT methods to work with the 3 resource
* Users
* Questions
* Answers
* Comments
* Tag### Installation
Install all npm dependecies```npm install```
Install nodemon globally
```npm install -g nodemon```