Building a Movie Recommendation API with Spring Boot

Building a Movie Recommendation API with Spring Boot

BackerLeader posted 1 min read

A month ago, I built a backend API for a movie and TV show recommendation platform using Java and Spring Boot.

The goal of the project was to practice designing a REST API, implementing authentication, and integrating an external API.


Features

The API includes several features:

  • Search movies and TV shows using the TMDB API
  • User authentication with JWT
  • Save favorite movies and shows
  • Rate content
  • Get trending content
  • RESTful API design
  • API documentation using Swagger / OpenAPI

Tech Stack

Backend

  • Java 21
  • Spring Boot
  • Spring Security
  • JWT Authentication
  • Spring Data JPA

Database

  • PostgreSQL

External API

  • TMDB API (The Movie Database)

Documentation

  • Swagger / OpenAPI

Example API Request

Example request to get trending content:

GET /content/trending

Example response:

{
  "page": 1,
  "results": [
    {
      "title": "War Machine",
      "release_date": "2026-02-12",
      "vote_average": 7.1
    }
  ]
}

Project Architecture

The application follows a layered architecture:

Controller → Service → Repository → Database

This structure helps keep the code organized and maintainable.


API Documentation

The API is documented using Swagger / OpenAPI, which makes it easy to explore and test the endpoints.


What I learned

While building this project I practiced several backend concepts:

  • Designing REST APIs
  • Implementing authentication with Spring Security
  • Using JWT for authorization
  • Integrating external APIs
  • Structuring a backend project using layered architecture

GitHub Repository

You can find the full project here:

https://github.com/alejandrotg-code/tv-and-movie-db


Feedback and suggestions are always welcome!

More Posts

Merancang Backend Bisnis ISP: API Pelanggan, Paket Internet, Invoice, dan Tiket Support

Masbadar - Mar 13

Spring Boot Large File Upload: Limits, Streaming, and Production Best Practices

buildbasekit - May 12

Let's understand Retries in Spring Boot

Madhu - Oct 17, 2025

Stop Rebuilding the Same Spring Boot Setup Every Time

buildbasekit - Apr 13

Tuesday Coding Tip 02 - Template with type-specific API

Jakub Neruda - Mar 10
chevron_left

Related Jobs

View all jobs →

Commenters (This Week)

2 comments
1 comment
1 comment

Contribute meaningful comments to climb the leaderboard and earn badges!