### 1. Login Page
### 2. Register Page
### 3. Create Movie with search to TMDB
### 4. Update Movie with field validation
### 5. Exam last Nov. 9
## 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.]
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
[image]
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 |
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 |
Method | URL | Payload | Header |
---|---|---|---|
GET | localhost/movieproject-api/casts/1 | N/A | N/A |
Method | URL | Payload | Header |
---|---|---|---|
GET | localhost/movieproject-api/photos/1 | N/A | N/A |
Method | URL | Payload | Header |
---|---|---|---|
GET | localhost/movieproject-api/videos/1 | N/A | N/A |
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 |
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 | Authorization | Update using Form (POST) | |
DELETE | localhost/movieproject-api/admin/movies/1 | N/A | Authorization | Delete By ID |
Method | URL | Payload | Header | |
---|---|---|---|---|
GET | localhost/movieproject-api/casts/1 | N/A | Authorization | Get By ID |
POST | localhost/movieproject-api/admin/casts | 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 |
Method | URL | Payload | Header | |
---|---|---|---|---|
GET | localhost/movieproject-api/admin/photos/2 | N/A | Authorization | Get By ID |
POST | localhost/movieproject-api/admin/photos | 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 |
Method | URL | Payload | Header | |
---|---|---|---|---|
GET | localhost/movieproject-api/admin/videos/1 | N/A | Authorization | Get By ID |
POST | localhost/movieproject-api/admin/photos | 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 |