[
{
"movie_id": 35355,
"name": "Walking Vengeance",
"release_date": "2008-10-31T00:00:00+00:00",
"description": "Frantic to be free of Felix, her wealthy but drunken and violent drug-lord husband, Ana (Elena Anaya) tricks her fresh-from-prison sister, Aurora (Ariadna Gil), and two other ex-partners in crime into coming to her aid. Now that their crew is reassembled, the women begin planning a heist that will rid Ana of Felix and net them enough cash to be set for life.",
"average_rating": null,
"budget": 19000000,
"box_office": 0,
"genre": [
"Crime"
],
"language": [
"한국어/조선말",
"Español",
"Pусский"
]
},
{
"movie_id": 35786,
"name": "The Dark Side of the Moon",
"release_date": "2016-01-14T00:00:00+00:00",
"description": "A psychedelic mushroom trip turns a successful lawyer into a wanted man.",
"average_rating": null,
"budget": 0,
"box_office": 0,
"genre": [
"Thriller"
],
"language": [
"Deutsch"
]
},
...
]
Request: Get recommendation for account with zero likes (seeing what the algorithm is)
[
{
"movie_id": 33458,
"name": "The Tiger and the Pussycat",
"release_date": "1967-09-20T00:00:00+00:00",
"description": "Comedy-drama about a middle-aged Italian businessman Vittorio Gassman who is married to Eleanor Parker and is innocently introduced one day to a schoolgirl with pigtails named Carolina. Years later, that young schoolgirl has become a vivacious young woman (Ann-Margret), and she pursues him, luring him into an on-again-off-again romantic tryst where she pulls the strings and holds all the cards.",
"average_rating": null,
"budget": 0,
"box_office": 0,
"genre": [
"Drama"
],
"language": [
"English",
"Italiano"
]
},
{
"movie_id": 19565,
"name": "The Screaming Skull",
"release_date": "1958-01-01T00:00:00+00:00",
"description": "Newlyweds Eric and Jenni Whitlock retire to his desolate mansion, where Eric's first wife Marianne died from a mysterious freak accident. Jenni, who has a history of mental illness, begins to see strange things including a mysterious skull, which may or may not be a product of her imagination.",
"average_rating": null,
"budget": 0,
"box_office": 0,
"genre": [
"Horror"
],
"language": [
"English"
]
},
...
]
After getting recommendations twice, I'm guessing there's no algorithm for users that have no likes on their account.
One would assume that getting recommendations without any watch history would just return the most popular movies, but it looks like it's just random.
[
{
"movie_id": 29145,
"name": "High School U.S.A.",
"release_date": "1983-10-16T00:00:00+00:00",
"description": "Set in a senior high school class, J.J. (Michael J. Fox) pursues the girlfriend of a rival from a higher clique which culminates in a race at the end of the movie between the two rivals in this light comedy.",
"average_rating": null,
"budget": 0,
"box_office": 0,
"genre": [
"TV Movie"
],
"language": [
"English"
]
},
{
"movie_id": 2647,
"name": "The Thomas Crown Affair",
"release_date": "1968-06-19T00:00:00+00:00",
"description": "Young businessman, Thomas Crown is bored and decides to plan a robbery and assigns a professional agent with the right information to the job. However, Crown is soon betrayed yet cannot blow his cover because he’s in love.",
"average_rating": null,
"budget": 4300000,
"box_office": 0,
"genre": [
"Crime"
],
"language": [
"English"
]
},
{
"movie_id": 7151,
"name": "The Black Pirate",
"release_date": "1926-03-08T00:00:00+00:00",
"description": "A nobleman vows to avenge the death of his father at the hands of pirates. To this end he infiltrates the pirate band. Acting in character he is instrumental in the capture of a ship, but things are complicated when he finds that there is a young woman on board whom he wishes to protect from the threat of rape.",
"average_rating": null,
"budget": 0,
"box_office": 0,
"genre": [
"Adventure"
],
"language": [
"No Language"
]
},
{
"movie_id": 40243,
"name": "Letters from Marusia",
"release_date": "1976-06-06T00:00:00+00:00",
"description": "Originally Actas De Marusia, this Mexican film re-creates a dark chapter in the history of Chile. The scene is a small Chilean mining town in 1907. Suffering under the despotic rule of the British mine owners, the workers stage a revolt. The government's solution is to utterly destroy the town rather than allow the rebellion to spread. Letters from Marusia was adapted from a novel by Patricio Manns, which in turn was based on eyewitness accounts of the 1907 massacre.",
"average_rating": null,
"budget": 0,
"box_office": 0,
"genre": [
"History"
],
"language": [
"English",
"Español"
]
},
{
"movie_id": 5993,
"name": "El Sur",
"release_date": "1983-05-18T00:00:00+00:00",
"description": "The movie tells a melancholic story of a little girl who is living in a city in the north. She is fascinated by the secrets of the south which seem to be hidden in the personality of her father.",
"average_rating": null,
"budget": 0,
"box_office": 0,
"genre": [
"Romance"
],
"language": [
"Español"
]
},
{
"movie_id": 7305,
"name": "The Nasty Girl",
"release_date": "1990-02-15T00:00:00+00:00",
"description": "When a young woman investigates her town's Nazi past, the community turns against her.",
"average_rating": null,
"budget": 0,
"box_office": 0,
"genre": [
"Foreign"
],
"language": [
"Deutsch"
]
}
]
Looks like my likes had no affect on my recommendations. So the API spec is wrong.
When getting predictions on a movie that doesn't have predictions generated yet, an empty dictionary is returned. The /predictions/generate/{movie_id} endpoint must be called first to create predictions on said movie.
This endpoint might have been a little unclear. It is meant for administrators. We chose to manually make a user an administrator rather than having an endpoint to do so. Group_id is now returned as well.
New Test Cases:
There were less than 5 movies returned in the most popular movies (for likes) endpoint because there were less than 5 movies liked at the time. There is now more user data so that endpoint returns the appropriate amount. Movie names are now included.
For a user that has not rated any movies, we chose to recommend random movies rather than popular movies on purpose. Our thought process was that recommending random movies would be an opportunity for a new user to explore movies they might not have ever considered.
Recommendations are based on ratings rather than likes. We decided to use the more specific metric (ratings) to determine recommendations. A user's ratings are useful when we perform collaborative filtering.
Existing Tests:
Failing:
New Test Cases
Test Case 1
Request: Sign up
Response:
Request: Get my user id
Response:
Request: Find popular movies by likes
Response:
Request: Rate movie id 3 with rating 2
Response:
Request: List popular movies again to see if rating adjusted
Response:
Test Case 2
Request: Get recommendations for an account with zero likes
Response:
Request: Get recommendation for account with zero likes (seeing what the algorithm is)
Response:
Request: Like a horror movie
Response:
Request: Like a horror movie
Response:
Request: See my recommendations now, with two likes given to horror movies
Response:
Test Case 3
Request: Create Group
Response:
Request: Join group with my test user
Response:
Request: List all groups
Response: