Dev Bootcamp Finder Prod

Bootcamps 6

Description

Fetch all bootcamps from bootcamps. Includes pagination, filtering, etc..

Description

Get all bootcamps within the radius a specific zipcode.

Query
KeyValueDescription
selectname,description,housing
sortname
Description

Add new boot camp to database. Must be authenticated and must be publisher or admin.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "name": "Devcentral Bootcamp", "description": "Is coding your passion? Codemasters will give you the skills and the tools to become the best developer possible. We specialize in front end and full stack web development", "website": "https://devcentral.com", "phone": "(444) 444-4444", "email": "enroll@devcentral.com", "address": "45 Upper College Rd Kingston RI 02881", "careers": [ "Mobile Development", "Web Development", "Data Science", "Business" ], "housing": false, "jobAssistance": true, "jobGuarantee": true, "acceptGi": true }
Description

Update single bootcamp in database.

Body
{ "housing": true }
Description

Delete bootcamp from database.

Courses 7

Description

Get, Create, Update and Delete Courses

Description

Creates a course and adds it to the corresponding bootcamp

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "title": "Front End Web Development", "description": "This course will provide you with all of the essentials to become a successful frontend web developer. You will learn to master HTML, CSS and front end JavaScript, along with tools like Git, VSCode and front end frameworks like Vue", "weeks": 8, "tuition": 8000, "minimumSkill": "beginner", "scholarhipsAvailable": true }
Description

Update single course by id

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "title": "Something Else Here!" }

Authentication 8

Routes for user authentication including register, login, reset password, etc..

Description

Route gets logged in User from middeleware/header

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Description

Add user to database with encrypted password.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "name": "John Doe", "email": "john@gmail.com", "password": "123456", "role": "publisher" }
Description

Route to login User and provide token.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "email": "john@gmail.com", "password": "123456" }
Description

Generate password token and send email.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Content-Typeapplication/json

JSON Type

Body
{ "email": "john@gmail.com" }
Description

Reset user password using token.

Body
{ "password": "admin1234" }
Description

Updates users details.

Body
{ "name": "John Doe", "email": "john@gmail.com" }
Description

Change password by verifing old password and sending new password.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "currentPassword": "admin1234", "newPassword": "123456" }
Description

Log out user and remove token from cookie.

Users 5

Description

Get all user (admin)

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Description

Get single user by id (admin)

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Description

Add user to database (admin)

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "name": "Nate Johnson", "email": "nate@gmail.com", "password": "123456" }
Description

Update user in database (admin)

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "name": "Nate Johnson", "email": "nate@gmail.com", "password": "123456" }

Reviews 6

Description

Get all reviews from database and populate with bootcamp name and description.

Description

Fetch a review from database by id and populate Bootcamp name and description.

Description

Insert a review for a specific bootcamp.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "title": "Amazing bootcamp", "text": "This bootcamp was awesome and the instructors were very knowledgeable!", "rating": 8 }
Description

Update review in database.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "title": "Amazing bootcamp", "text": "I learned so much from this bootcamp", "rating": 9 }