VidRooms API

Backend API for the VidRooms.com application to manage vidrooms, reviews, users and authentication.

Vidrooms 7

Vidrooms CRUD functionality

Description

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

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Description

Get Vidrooms within a radius of a specific zipcode

Description

Add new vidroom to database. Must be authenticated, and must be publisher or admin.

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

AuthorizationBearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVlYWY3NGQ2ZmFkZmNiNTIzMDZhNjIyZCIsImlhdCI6MTU4ODU1NzAxNCwiZXhwIjoxNTkxMTQ5MDE0fQ.qhM-nRm0UamCvN273A-n_WINhbV9luyPg0hsp6v0Fb4
Query
KeyValueDescription
Body
{ "name": "TEST Vidroom", "description": "One of the most popular open-mic amateur stand-up comedy channels. Discover the funniest up-and-coming comedians. Hosted on zoom", "link": "https://zoom.us/j/", "category": [ "Stand-up Comedy", "Comedians" ] }
Description

Update single vidroom in database

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "name": "Open-mic Nights" }
Description

Route to upload a vidroom photo

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
KeyValueDescription
file

Events 6

Create read update and delete events

Description

Get all events in database

Description

Create an event for a specific vidroom

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "title": "Open-mic Night", "description": "Saturday Night Dive", "date": "06/01/2020", "time": "6:00 PM", "price": "Free", "link": "https://zoom.us/j/" }
Description

Update event in database

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "Name": "Friday Night Dive" }

Authentication 8

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

Description

Add user to database with encrypted password

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "name": "John Doe", "email": "test@example.com", "password": "12345678", "role": "publisher" }
Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "email": "test@example.com", "password": "12345678" }
Description

Generate password token and send email

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "email": "test@example.com" }
Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

AuthorizationBearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVlYWY3YmMwNDM0YjNhMmM0ODc1NGFjYyIsImlhdCI6MTU4ODU1ODc4NCwiZXhwIjoxNTkxMTUwNzg0fQ.pynhw8xs48cXdkDhchzjhZ5YAAwkBxFXKMrjf8Dx_7U
Body
{ "email": "test@example.com", "password": "12345678" }
Description

Reset user password using token

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "password": "12345678" }
Description

Update loggin in user password, send in the body current password and new password

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "currentPassword": "12345678", "newPassword": "87654321" }
Description

Update loggin in user name and email

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "name": "Jane Doe" }

Users 5

CRUD functionality for users only available to admins

Description

Get all users (admin)

Description

Add user to database (admin)

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "name": "Little Biggie", "email": "test2@example.com", "password": "1234567878" }
Description

Update user in database (admin)

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "name": "Big Little" }
Description

Delete user from database (admin)

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Reviews 6

Manage course reviews

Description

Get all reviews from database and populate with vidroom name and description

Description

Get the reviews for a specific bootcamp (admin)

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Description

Get a single review from database and poplate vidroom name and description

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Description

Add a review for a specific bootcamp (user & admin)

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "title": "Nice channel", "text": "Couldn't stop laughing!", "rating": 10 }
Description

Update review in database (owner or admin)

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type

Body
{ "title": "I couldn't stop laughing!" }
Description

Delete review from database

Headers
KeyValueDescription
Content-Typeapplication/json

JSON Type