Backend API for the DevCamper application to manage bootcamps, courses, reviews, users and authentication
Routes for user authentication including register, login, reset password, etc
Generate password token and send email
| Key | Value | Description |
|---|---|---|
| Content-Type | application/json | JSON Type |
| Key | Value | Description |
|---|---|---|
| Content-Type | application/json | JSON Type |
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |
| Key | Value | Description |
|---|---|---|
| Content-Type | application/json | JSON Type |
Clear token cookie
| Key | Value | Description |
|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |
Add user to database with encrypted password
| Key | Value | Description |
|---|---|---|
| Content-Type | application/json | JSON Type |
Reset user password using token
| Key | Value | Description |
|---|---|---|
| Content-Type | application/json | JSON Type |
Update logged in user password, send in the body currentPassword and newPassword
| Key | Value | Description |
|---|---|---|
| Content-Type | application/json | JSON Type |
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |
Update logged in user name and email
| Key | Value | Description |
|---|---|---|
| Content-Type | application/json | JSON Type |
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |
Bootcamps CRUD functionality
Add new bootcamp to database. Must be authenticated and must be publisher or admin. Only 1 bootcamp allowed per publisher
| Key | Value | Description |
|---|---|---|
| Content-Type | application/json | JSON Type |
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |
Delete bootcamp from database
| Key | Value | Description |
|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |
Fetch all bootcamps from database. Includes pagination, filtering, etc
Get bootcamps within a radius of a specific zipcode
Get single bootcamp by ID
Update single bootcamp in database
| Key | Value | Description |
|---|---|---|
| Content-Type | application/json | JSON Type |
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |
Route to upload a bootcamp photo
| Key | Value | Description |
|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |
| Key | Value | Description |
|---|---|---|
| file |
Create, read, update and delete courses
Create a course for a specific bootcamp
| Key | Value | Description |
|---|---|---|
| Content-Type | application/json | JSON Type |
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |
Remove course from database
| Key | Value | Description |
|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |
Get all courses in database
Get the specific courses for a bootcamp
Get a single course by its ID
Update course in database
| Key | Value | Description |
|---|---|---|
| Content-Type | application/json | JSON Type |
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |
Manage course reviews
Insert review for a specific bootcamp
| Key | Value | Description |
|---|---|---|
| Content-Type | application/json | JSON Type |
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |
Remove review from database
| Key | Value | Description |
|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |
Get all reviews from database and populate with bootcamp name and description
Fetch the reviews for a specific bootcamp
Fetch a review from database by id and populate Bootcamp name and description
Update review in database
| Key | Value | Description |
|---|---|---|
| Content-Type | application/json | JSON Type |
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |
CRUD functionality for users only available to admin users
Add user to database (admin)
| Key | Value | Description |
|---|---|---|
| Content-Type | application/json | JSON Type |
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |
Delete user from database (admin)
| Key | Value | Description |
|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |
Get all users (admin)
| Key | Value | Description |
|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |
get single user by id (admin)
| Key | Value | Description |
|---|---|---|
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |
Update user in database (admin)
| Key | Value | Description |
|---|---|---|
| Content-Type | application/json | JSON Type |
| Authorization | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkN2E1MTRiNWQyYzEyYzc0NDliZTA0NSIsImlhdCI6MTU3MTA1NzkzMywiZXhwIjoxNTczNjQ5OTMzfQ.rTumDmWSKzoiGrarbCRqpVBVVfHo5su4TNagQM6c2Ts |