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)