Skip to content

lemuelrfrancisco/ADT313

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ADT313

Deadline of submission: Dec. 7, 2024

Students who doesn't have hands-on 1 to 5 are required to submit for completion only.

Midterms coverage (checking is on finals)

### 1. Login Page
### 2. Register Page
### 3. Create Movie with search to TMDB
### 4. Update Movie with field validation
### 5. Exam last Nov. 9

Semi-finals & Finals coverage

## Students have their own design and not allowed to use any Styling library and framework.
## Students must demonstrate the usage of React Hooks.

### 1. Admin Dashboard with design
    Login, Register, Movie, Artist, photos and videos (artist, photos, videos should be linked to movie)
    #### [User (access token and information) and movies should be stored using useContext.]
 	    #### Search Movies using TMDB API
    #### Search Videos, Photos and Credits using TMDB API under Admin - Movie page
### 2. Client Site with design
    #### [User (access token and information) and movies should be stored using useContext.]

Database Diagram

image3

TMDB Search movie

TMDB Search image

TMDB Search videos

TMDB Search artist/Credits

Hands-on activity

1. using react hooks, get the latest value of form fields
and pass it as payload to api.
2. Create the update function of movie
    -use method:PATCH url: /movies/{id}
3. implement pagination in search movie using the
   `total_pages` from tmdb api response
4. add error handler for search, save, delete
5. redirect to `/main/movies` after saving the movie

API Endpoints

[image]

Users

Method URL Payload Header
POST localhost/movieproject-api/user/register {
"email":"[email protected]",
"password":"password",
"firstName":"string",
"middleName":"string",
"lastName":"string",
"contactNo":"string"
}
N/A
POST localhost/movieproject-api/user/login {
"email": "[email protected]",
"password": "password"
}
N/A

User - Movies

Method URL Payload Header
GET localhost/movieproject-api/movies N/A N/A Get all
GET localhost/movieproject-api/movies/2 N/A N/A Get by id

User - Casts

Method URL Payload Header
GET localhost/movieproject-api/casts/1 N/A N/A

Users - Photos

Method URL Payload Header
GET localhost/movieproject-api/photos/1 N/A N/A

Users - Videos

Method URL Payload Header
GET localhost/movieproject-api/videos/1 N/A N/A

Admin

Method URL Payload Header
POST localhost/movieproject-api/admin/register {
"email":"[email protected]",
"password":"password",
"firstName":"string",
"middleName":"string",
"lastName":"string",
"contactNo":"string"
}
N/A
POST localhost/movieproject-api/admin/login {
"email": "[email protected]",
"password": "password"
}
N/A

User - Movies

Method URL Payload Header
GET localhost/movieproject-api/admin/movies N/A N/A Get all
GET localhost/movieproject-api/admin/movies/2 N/A N/A Get by id
POST localhost/movieproject-api/movies {
"tmdbId": 125,
"title": "Jollibee",
"overview": "Wrong item.",
"popularity": 1,
"releaseDate":"2003-05-23",
"voteAverage": 5,
"backdropPath": "https://image.tmdb.org/t/p/original/gdGIwCH9OS2w2USTKUlcTppXfXz.jpg",
"posterPath": "https://image.tmdb.org/t/p/original/3XJKBKh9Km89EoUEitVTSnrlAkZ.jpg",
"isFeatured": 0
}
Authorization Create using JSON as payload
PATCH localhost/movieproject-api/movies/0 {
"tmdbId": 310,
"title": "Bruce Almighty",
"overview": "Bruce Nolan toils as a "human interest" television reporter in Buffalo, NY, but despite his high ratings and the love of his beautiful girlfriend, Bruce remains unfulfilled. At the end of the worst day in his life, he angrily ridicules God - and the Almighty responds, endowing Bruce with all of His divine powers.",
"popularity": 57.52,
"releaseDate":"2003-05-23",
"voteAverage": 6.715,
"backdropPath": "https://image.tmdb.org/t/p/original//gdGIwCH9OS2w2USTKUlcTppXfXz.jpg",
"posterPath": "https://image.tmdb.org/t/p/original//3XJKBKh9Km89EoUEitVTSnrlAkZ.jpg",
"isFeatured": 1
}
Authorization Update using PATCH
POST localhost/movieproject-api/movies/1 image1 Authorization Update using Form (POST)
DELETE localhost/movieproject-api/admin/movies/1 N/A Authorization Delete By ID

Admin - Casts

Method URL Payload Header
GET localhost/movieproject-api/casts/1 N/A Authorization Get By ID
POST localhost/movieproject-api/admin/casts image2 Authorization Create using Form
POST localhost/movieproject-api/admin/casts {
"userId": 1,
"movieId": 38,
"name": "Robert Downey Jr.",
"characterName": "Tony Stark / Iron Man",
"url":"https://image.tmdb.org/t/p/original/5qHNjhtjMD4YWH3UP0rm4tKwxCL.jpg"
}
Authorization Create using JSON
POST/PATCH localhost/movieproject-api/admin/casts/1 {
"movieId": 38,
"name": "Robert Downey Jr.",
"characterName": "Tony Stark / Iron Man",
"url":"https://image.tmdb.org/t/p/original/5qHNjhtjMD4YWH3UP0rm4tKwxCL.jpg"
}
Authorization Update using POST/PATCH
DELETE localhost/movieproject-api/admin/casts/1 N/A Authorization Delete By ID

Users - Photos

Method URL Payload Header
GET localhost/movieproject-api/admin/photos/2 N/A Authorization Get By ID
POST localhost/movieproject-api/admin/photos image3 Authorization Create using Form
POST localhost/movieproject-api/admin/photos {
"userId": 1,
"movieId": 38,
"url":"https://image.tmdb.org/t/p/original/mDfJG3LC3Dqb67AZ52x3Z0jU0uB.jpg",
"description":"Test Description"
}
Authorization Create using JSON
POST/PATCH localhost/movieproject-api/admin/photos/1 {
"movieId": 38,
"url":"https://image.tmdb.org/t/p/original/mDfJG3LC3Dqb67AZ52x3Z0jU0uB.jpg",
"description":"Test Description"
}
Authorization Update using POST/PATCH
DELETE localhost/movieproject-api/admin/photos/1 N/A Authorization Delete By ID

Users - Videos

Method URL Payload Header
GET localhost/movieproject-api/admin/videos/1 N/A Authorization Get By ID
POST localhost/movieproject-api/admin/photos image4 Authorization Create using Form
POST localhost/movieproject-api/admin/videos {
"userId": 1,
"movieId": 38,
"url":"https://www.youtube.com/embed/49xWJJvpjzI",
"name":"Thor Arrives In Wakanda Scene - Avengers Infinity War (2018) Movie CLIP 4K ULTRA HD",
"site":"YouTube",
"videoType":"Clip",
"videoKey":"49xWJJvpjzI",
"official":0
}
Authorization Create using JSON
POST/PATCH localhost/movieproject-api/admin/videos/1 {
"movieId": 38,
"url":"https://www.youtube.com/embed/49xWJJvpjzI",
"name":"Thor Arrives In Wakanda Scene - Avengers Infinity War (2018) Movie CLIP 4K ULTRA HD",
"site":"YouTube",
"videoType":"Clip",
"videoKey":"49xWJJvpjzI",
"official":0
}
Authorization Update using POST/PATCH
DELETE localhost/movieproject-api/admin/videos/1 N/A Authorization Delete By ID

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published