BootCamp API

BootCamps 7

Description

fetch all bootcamps from database, includes pagination, filtering etc

Headers
KeyValueDescription
Content-Typeapplication/json

json type

Body
{ "name": "ModernTech Bootcamp", "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 single bootcamp by ID

Headers
KeyValueDescription
Content-Typeapplication/json

json type

Description

Add new bootcamp to database. User Must be authenticated and must be publisher or admin

Headers
KeyValueDescription
Content-Typeapplication/json

json type

Body
{ "name": "Java Bootcamp", "description": "Devworks is a full stack JavaScript Bootcamp located in the heart of Boston that focuses on the technologies you need to get a high paying job as a web developer", "website": "https://devworks.com", "phone": "(111) 111-1111", "email": "enroll@devworks.com", "address": "Sylvania Magarpatta City, Pune, Maharashtra 411013", "careers": [ "Web Development", "UI/UX", "Business" ], "photo": "no-photo.jpg", "housing": true, "jobAssistance": true, "jobGuarantee": false, "acceptGi": true }
Description

Update single bootcamp in database

Headers
KeyValueDescription
Content-Typeapplication/json

json type

Body
{ "housing": true }
Description

Get bootcamps within a radius of a specific zipcode

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

Route to upload a bootcamp photo

Headers
KeyValueDescription
Content-Typeapplication/json

json type

Body
KeyValueDescription
file

Courses 7

Create, read, update and delete courses

Query
KeyValueDescription
selecttitle
Description

Get the specific courses for a bootcamp

Headers
KeyValueDescription
Content-Typeapplication/json

json type

Body
{ "name": "ModernTech Bootcamp", "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

Create a course for specific bootcamp

Headers
KeyValueDescription
Content-Typeapplication/json

json type

Content-Typeapplication/json

json type

Body
{"title": "Mobile App 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": 20000, "minimumSkill": "beginner", "scholarhipsAvailable": true }
Description

Update Course by Id

Body
{ "tuition": 5000, "minimumSkill": "beginner" }

Authentication 8

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

Description

Add user to database with encrypted password

Body
{ "name":"Peter Theil", "email": "peter@gmail.com", "password": "123456", "role":"user" }
Description

Login User with authorised credentials

Headers
KeyValueDescription
AuthorizationBearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYyMzA2MzA1M2I0ZWUwYTYzNmFmZGM2MSIsImlhdCI6MTY0NzMzODI0Nn0.Pm2h5inNCdA124s98FXW3fdC2Ig9gLNmOe0tBewiLlc
Body
{ "email": "john@gmail.com", "password": "123456" }
Body
{ "email": "peter@gmail.com", "password": "123456" }
Description

Generate password token and send email

Headers
KeyValueDescription
Content-Typeapplication/json

json type

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

Reset user password using token

Headers
KeyValueDescription
Content-Typeapplication/json

json type

Body
{ "password":"1234567" }
Description

Update logged in user details

Headers
KeyValueDescription
Content-Typeapplication/json

json type

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

Update logged in user password , send in the body currentPassword and newPassword

Headers
KeyValueDescription
Content-Typeapplication/json

json type

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

Users 5

CURD functionality for users only available to admins

Description

Add user to database (admin)

Body
{ "name": "Tom Hardy", "email": "tom@gmail.com", "password":"123456" }
Description

Update user in database (admin)

Body
{ "name": "Tom Brady" }

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

Headers
KeyValueDescription
Content-Typeapplication/json

json type

Body
{ "title": "Nice course", "text": "i learnt a lot", "rating": 10 }
Description

Add a review for a specific bootcamp

Headers
KeyValueDescription
Content-Typeapplication/json

json type

Body
{ "title": "Nice course", "text": "i learnt a lot", "rating": 10 }
Description

Update review for a bootcamp (user or admin)

Body
{ "title": "Great instructor", "text": "Updating reivew" }
Description

Delete review from database (admin or user)