BootcampShop API

Backend API for the BootcampShop application to manage bootcamps, courses, reviews, users and authetication.

Bootcamps 8

Bootcamps CRUD functionality

Description

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

Headers
Key Value Description
Content-Type application/json

jSON Type

Description

Add new bootcamp to database. Must be authenticated and must be a publisher/admin.

Headers
Key Value Description
Content-Type application/json

jSON Type

Body
{ "name": "ModernTech Bootcamp Test", "description": "ModernTech has one goal, and that is to make you a rockstar developer and/or designer with a six figure salary. We teach both development and UI/UX", "website": "https://moderntech.com", "phone": "(222) 222-2222", "email": "enroll@moderntech.com", "address": "220 Pawtucket St, Lowell, MA 01854", "careers": ["Web Development", "UI/UX", "Mobile Development"], "housing": false, "jobAssistance": true, "jobGuarantee": false, "acceptGi": true }
Description

Get bootcamps within a radius of a specific zipcode

Headers
Key Value Description
Content-Type application/json

jSON Type

Courses 6

CRUD methods for Courses

Description

Gets all Courses in the database

Headers
Key Value Description
Content-Type application/json

jSON Type

Description

Get specific course for a Bootcamp

Headers
Key Value Description
Content-Type application/json

jSON Type

Description

Get single course by it’s ID

Headers
Key Value Description
Content-Type application/json

jSON Type

Description

Add a new course for a soecific bootcamp to the database.

Headers
Key Value Description
Content-Type application/json

jSON Type

Body
{ "title": "Data Science Program", "description": "In this course you will learn Python for data science, machine learning and big data tools", "weeks": 10, "tuition": 12000, "minimumSkill": "intermediate", "scholarhipsAvailable": false }
Description

Update course in Database.

Headers
Key Value Description
Content-Type application/json

jSON Type

Body
{ "tuition": 130000, "minimumSkill": "advanced" }
Description

Remove course from database.

Headers
Key Value Description
Content-Type application/json

jSON Type

Authentication 8

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

Description

Add user to the database with encrypted password.

Headers
Key Value Description
Content-Type application/json

jSON Type

Body
{ "name": "Alan Poe", "email": "alanpoe@example.com", "password": "1234567", "role": "publisher" }
Description

Login user

Headers
Key Value Description
Content-Type application/json

jSON Type

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

Get Logged in user via token

Headers
Key Value Description
Content-Type application/json

jSON Type

Body
{ "name": "ModernTech Bootcamp Testing", "description": "ModernTech has one goal, and that is to make you a rockstar developer and/or designer with a six figure salary. We teach both development and UI/UX", "website": "https://moderntech.com", "phone": "(222) 222-2222", "email": "enroll@moderntech.com", "address": "220 Pawtucket St, Lowell, MA 01854", "careers": ["Web Development", "UI/UX", "Mobile Development"], "housing": false, "jobAssistance": true, "jobGuarantee": false, "acceptGi": true }
Description

Generate password token and send email

Headers
Key Value Description
Content-Type application/json

jSON Type

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

Reset user password using token.

Headers
Key Value Description
Content-Type application/json

jSON Type

Body
{ "password": "1234567" }
Headers
Key Value Description
Content-Type application/json

jSON Type

Body
{ "name": "Kevin Spade", "email": "kevin@gmail.com" }
Description

Update Logged In user password. Send in the body the currentPassword and newPassword.

Headers
Key Value Description
Content-Type application/json

jSON Type

Body
{ "currentPassword": "1234567", "newPassword": "123456" }

Users 5

CRUD functionality for users with admin role assigned to them.

Description

Get all users {admin}

Headers
Key Value Description
Content-Type application/json

jSON Type

Description

Get Single user by id {admin}

Headers
Key Value Description
Content-Type application/json

jSON Type

Description

Add user to database (admin)

Headers
Key Value Description
Content-Type application/json

jSON Type

Body
{ "name": "Jack Sparrow", "email": "jacksparrow@gmail.com", "password": "123456" }
Description

Update user in the database (admin).

Headers
Key Value Description
Content-Type application/json

jSON Type

Body
{ "name": "Captain Jack Sparrow", "email": "jacksparrow@gmail.com", "password": "123456" }
Description

Delete user from database (admin).

Body
{ "name": "Captain Jack Sparrow", "email": "jacksparrow@gmail.com", "password": "123456" }

Reviews 6

Manage course reviews

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 review for a specific bootcamp.

Headers
Key Value Description
Content-Type application/json

jSON Type

Body
{ "title": "Nice bootcamp", "text": "I learned a lot of great stuff.", "rating": "8" }
Description

Update review in database

Headers
Key Value Description
Content-Type application/json

jSON Type

Body
{ "title": "Had fun." }

Available Variables 1

Key Value Type
URL http://localhost:6000