Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jamestang12/bootcamper-backend-api
Back-end bootcamp API for directory website, allow user to list all bootcamps in the database, search bootcamp and more
https://github.com/jamestang12/bootcamper-backend-api
bootcamp-api database express json jwt-authentication mongodb mongoose nodejs
Last synced: 8 days ago
JSON representation
Back-end bootcamp API for directory website, allow user to list all bootcamps in the database, search bootcamp and more
- Host: GitHub
- URL: https://github.com/jamestang12/bootcamper-backend-api
- Owner: jamestang12
- Created: 2020-04-04T07:11:22.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-12-22T15:23:50.000Z (almost 2 years ago)
- Last Synced: 2023-03-07T22:20:11.817Z (over 1 year ago)
- Topics: bootcamp-api, database, express, json, jwt-authentication, mongodb, mongoose, nodejs
- Language: HTML
- Homepage:
- Size: 274 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BootCamper-Backend-API
Back-end bootcamp API for directory website, allow user to list all bootcamps in the database, search bootcamp and more
* [Link to API](https://jamesyang12.com/)## Tools
* Javascript(ES6)
* Node.JS
* Express.Js
* MongoDB
* Mongoose Middleware
* Postman
* Geocoder
* Mapquest
* Nodemailer
* Mailtrap
* Digital Ocean
* PM2## Functionality
### Bootcamps
- [x] List all bootcamps in the database
- [x] Search bootcamps by radius from zipcode
- [x] Upload a photo for bootcamp
- [x] Update bootcamps
- [x] Delete Bootcamp
- [x] Calculate the average cost of all courses for a bootcamp
- [x] Calculate the average rating from the reviews for a bootcamp### Courses
- [x] List all courses for bootcamp
- [x] List all courses in general
- [x] Get single course in Bootcamp
- [x] Create new course in Bootcamp
- [x] Delete course in Bootcamp### Reviews
- [x] List all reviews for a bootcamp
- [x] List all reviews in general
- [x] Get a single review
- [x] Create a review
- [x] Update review
- [x] Delete review### Users & Authentication
- [x] Authentication will be ton using JWT/cookies
- [x] User registration
- [x] User login
- [x] Get user
- [x] Password reset (lost password)
- [x] Update user info
- [x] User CRUD
- [x] Users can only be made admin by updating the database field manually### Security
- [x] Encrypt passwords and reset tokens
- [x] Prevent cross site scripting - XSS
- [x] Prevent NoSQL injections
- [x] Add a rate limit for requests of 100 requests per 10 minutes
- [x] Protect against http param polution
- [x] Add headers for security (helmet)
- [x] Use cors to make API public (for now)