Introduction

MyToMovies project, MTM, aims to provide REST API for personal movie list management. Users can search for movies and maintain personal favourite movie lists. The project is presented with OpenAPI 3. This project is using TMDB API for all the movie information. Please visit http://mtm-3a4d1d4b1bb5e20a.elb.eu-west-1.amazonaws.com for the live project(Currently stopped hosting live project. May redeploy to production in the future).

This documentation aims to provide the details of the design behind this project. The Technical Specification section gives an overview of the requirements and technologies used. The Architecture section first introduces the overall architecture of the project. It then further explores the details of how JWT generation is integrated with Spring Security, and how the MTM application is talking with external service TMDB API. This documentation also covers the Database Design section and API Design section for reference.

Quick Start

This section will go through some functions that this API provides for a quick start. Full information of the API calls can be found in the API Reference section.

  1. Search movie by name: With this API, you can enter the name of a movie and the API will return any related movies that it finds. On some occasions, there could be more than one page of results. You can change the page value to see more results. When finding the one you are looking for, take a note of its tmdbId as you may need it when creating a movie list.
  2. Authentication: You can sign up or sign in to obtain the token for accessing protected resources. Click on the “Authorize” button and a pop-up will show up for you to enter the token you just obtained.
  3. Create a movie list: You can create a movie list by passing the name, the description and the movie id list. The movie id can be obtained through ”search movie by name” in step 1. There are several other APIs for managing movie list, please refer to API Reference section for detail.

Technical Specification

<aside> 💡 A brief introduction on the features of this project, technologies used and key components of the MTM application.

</aside>

Requirements

Scope

Users can only search for their own data as such movie lists are not shared between users.

Solutions