Creative Arts Institute API

Back-end API for the Creative Arts Institute application to manage training programs, courses, reviews, users, and authentication.

Training Programs 7

Training programs CRUD functionality

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Description

Get training programs within a specific radius.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "title": "Foundation Design Program", "description": "This foundation design program is designed to provide a strong and balanced understanding of the fundamentals of good design, as well as the principles, techniques, and best practices that make up the bedrock of the entire industry.", "phone": "(111) 111-1111", "email": "enroll@foundationdesign.com", "address": "967 Queen Street Llandrindod Wells LD21 7CJ", "careers": ["Digital Artist", "3D Character Modeller"] }
Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "name": "Foundation Design Program", "email": "enroll@foundationdesign.com", "careers": [ "Digital Artist", "Other" ], }
Description

Upload a photo for a specific training program in the database.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
KeyValueDescription
file

Courses 6

Create, read, update, and delete courses.

Description

Get all courses from the database

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Description

Get courses in a specific training program.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Description

Get a single course from the database

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Description

Create a new course for a specific bootcamp

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "title": "Unreal Engine Art & Design", "description": "This course has been designed to give students an overview of blenders main tools to use 3D software to create 2D images. Students will be able to create impressive scenes suitable for presentation.", "weeks": 8, "tuition": 700, "minimumSkill": "Advanced" }
Description

Update a specific course.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "title": "Art Foundations For Beginners", "tuition": 600 }
Description

Delete a specific course from the database.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Authentication 8

Authentication for users, such as logging in, registering, etc

Description

Get the currently logged in user.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Description

Logout a user from the platform, and clear cookies.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Description

Registers a new user and saves them to the database

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "name": "Markus Smith", "email": "markus@gmail.com", "password": "SuperSecurePassword", "role": "user" }
Description

Login a user in from the database.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "email": "markus@gmail.com", "password": "SuperSecurePassword" }
Description

Generate a reset password token and send it to the users email.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

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

Reset a users password using the token provided from the forgot password email.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "password": "SuperSecurePassword" }
Description

Update the username and email of a user.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "name": "Markus Smith", "email": "smith@gmail.com" }
Description

Allows user to update their password, after providing their current password.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "currentPassword": "CurrentSuperSecurePassword", "newPassword": "NewSuperSecurePassword" }

Users 5

User CRUD functionality for admins only.

Description

Get all the users in the database (admin).

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Description

Get a single user from the database (admin).

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Description

Create a new user and add them to the database (admin).

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "name": "Markus Smith", "email": "markus@gmail.com", "password": "SuperSecurePassword", "role": "user" }
Description

Update a user in the database (admin).

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "name": "Markus Smith", "email": "smith@gmail.com", "password": "UpdatedSuperSecurePassword" }
Description

Delete a user from the database permanently (admin).

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Reviews 5

Provides CRUD funcitonality for reviews.

Description

Get all the reviews for a specific training program.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Description

Get a single review for a training program.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Description

Create a review for a specific training program.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Content-Typeapplication/json

JSON Type

Body
{ "title": "Very good training program", "body": "Taught me good art practices, would recommend", "rating": "10" }
Description

Update a specific review on a training program.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Content-Typeapplication/json

JSON Type

Body
{ "title": "Decent training program", "body": "Taught me decent art practices, would recommend", "rating": "7" }
Description

Delete a specific review from a training program.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Content-Typeapplication/json

JSON Type