Hacktiv8 Grup Project Phase 2
Developer:
- Titanio Yudista
- Jessica Sugianto
- Hamzah Abdullah Mubarak
3rd Party we used in this Project:
- Google Search
- OMDb
- Calenderific
An Simple Movie List Application with some features:
- Search Movie by Title
- Search Detail Movie by ID
- Preview List Movie
- Preview List Holiday Date
- Search Cinema
- Sign Up
- Sign In
- Sign in with Google
Find Movies by Title using OMDb API
Routes: http://localhost:3000/api/movies/:title
Request Header
Empty
Request Body
Empty
Request Params
{
title: < Movie Title here >
}
Response (200)
{
"Title": "Batman Forever",
"Year": "1995",
"imdbID": "tt0112462",
"Type": "movie",
"Poster": "https://m.media-amazon.com/images/M/MV5BNDdjYmFiYWEtYzBhZS00YTZkLWFlODgtY2I5MDE0NzZmMDljXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_SX300.jpg"
}
Response (500) | Server Error
{
"messege": "Server failed to response"
}
Find Detail Movies by ID using OMDb API
Routes: http://localhost:3000/imdbid/movies/:id
Request Header
Empty
Request Body
Empty
Request Params
{
id: < ID Title here >
}
Response (200)
{
"Title": "Batman Forever",
"Year": "1995",
"Rated": "PG-13",
"Released": "16 Jun 1995",
"Runtime": "121 min",
"Genre": "Action, Adventure, Fantasy",
"Director": "Joel Schumacher",
"Writer": "Bob Kane (characters), Lee Batchler (story), Janet Scott Batchler (story), Lee Batchler (screenplay), Janet Scott Batchler (screenplay), Akiva Goldsman (screenplay)",
"Actors": "Val Kilmer, Tommy Lee Jones, Jim Carrey, Nicole Kidman",
"Plot": "Batman must battle former district attorney Harvey Dent, who is now Two-Face and Edward Nygma, The Riddler with help from an amorous psychologist and a young circus acrobat who becomes his sidekick, Robin.",
"Language": "English",
"Country": "USA, UK",
"Awards": "Nominated for 3 Oscars. Another 10 wins & 22 nominations.",
"Poster": "https://m.media-amazon.com/images/M/MV5BNDdjYmFiYWEtYzBhZS00YTZkLWFlODgtY2I5MDE0NzZmMDljXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_SX300.jpg",
"Ratings": [
{
"Source": "Internet Movie Database",
"Value": "5.4/10"
},
{
"Source": "Rotten Tomatoes",
"Value": "39%"
},
{
"Source": "Metacritic",
"Value": "51/100"
}
],
"Metascore": "51",
"imdbRating": "5.4",
"imdbVotes": "227,405",
"imdbID": "tt0112462",
"Type": "movie",
"DVD": "27 Aug 1997",
"BoxOffice": "N/A",
"Production": "Warner Bros. Pictures",
"Website": "N/A",
"Response": "True"
}
Response (500) | Server Error
{
"messege": "Server failed to response"
}
Preview List Holiday Date using Calendarific API
Routes: http://localhost:3000/api//holidays/:ISOcountry/:year
Request Header
{
token: < User token is here >
}
Request Body
empty
Request Params
{
ISOcountry: < ISO Country here >,
year: < Year Here >
}
Response (200)
{
"name": "Cuti Bersama",
"description": "Cuti Bersama is a joint holiday in Indonesia",
"country": {
"id": "id",
"name": "Indonesia"
},
"date": {
"iso": "2020-05-26",
"datetime": {
"year": 2020,
"month": 5,
"day": 26
}
},
"type": [
"National holiday"
],
"locations": "All",
"states": "All"
}
Response (500) | Server Error
{
"messege": "Server failed to response"
}
Search Cinema using Google Search API
Routes: http://localhost:3000/api/search_google/:search
Request Header
{
token: < User token is here >
}
Request Body
Empty
Request Params
{
search: < Search Input here >
}
Response (200)
{
"title": "Disney Plus: Everything to know about Disney streaming amid ...",
"snippet": "Mar 26, 2020 ... Disney Plus launched Tuesday in Western Europe with lowered bandwidth, and \nbig-screen movies are streaming early, including Frozen 2 and ...",
}
Response (500) | Server Error
{
"messege": "Server failed to response"
}
Sign Up using Localhost API
Routes: http://localhost:3000/users/register
Request Header
Empty
Request Body
{
"email": < Email user here >
"username": < Username User here >
"password": < Password User here >
}
Response (200)
{
"id": 7,
"email": "seven@mail.com"
"username": "seven",
"password": "$2a$10$zkS/tuLSqfZ3Wwpw5GAf7OhnCnb5JyVgFCEb3RptkbNyk/DIALQHG",
"role": "user",
"updatedAt": "2020-04-03T07:50:43.325Z",
"createdAt": "2020-04-03T07:50:43.325Z"
}
Response (400) | Bad Request
{
"messege": "Validation error: Username tidak boleh kosong"
}
Response (500) | Server Error
{
"messege": "Server failed to response"
}
Sign In using Localhost API
Routes: http://localhost:3000/users/login
Request Header
Empty
Request Body
{
"username": < Username User here >,
"password": < Password User here >
}
Response (200)
{
"token": < Token User here >
}
Response (400) | Bad Request
{
"message": "Username / Password salah"
}
Response (500) | Server Error
{
"messege": "Server failed to response"
}
Sign In / Sign Up using Google Sign In OAuth
Routes: http://localhost:3000/users/google-login
Request Header
Empty
Request Body
{
"token": < Token User here >
}
Response (200)
{
"token": < Token User here >
}
Response (500) | Server Error
{
"messege": "Server failed to response"
}