Back to Projects

Movies API

Complete
Spring BootMongoDBJava

Project Overview

The following project is a 2-tier architecture, consisting of only the application tier and the database tier. The goal was to build a RESTful API-driven backend architecture of the platform and use a No-SQL database for storing our movie catalog. The API allows you to perform GET requests to access details such as the release date, titles, genre and IMDB id. POST requests can also be performed to write movie reviews as well.

Workflow

The Movies API follows a clean 2-tier architecture with Spring Boot handling the application layer and MongoDB serving as the data persistence layer. The API provides comprehensive endpoints for movie catalog management and user review functionality. The system uses Spring Data MongoDB for seamless database operations and implements RESTful principles for consistent API design.

Movies API Workflow Diagram

GET All Movies Endpoint

This Postman screenshot demonstrates the GET request to retrieve all movies from the catalog. The endpoint `/api/v1/movies` returns a comprehensive list of movies with detailed information including IMDB IDs, titles, release dates, trailer links, poster URLs, genres, and backdrop images. The response shows the API's ability to handle complex movie data structures and provide rich metadata for frontend consumption.

GET All Movies Endpoint

GET Single Movie by ID

This screenshot shows the GET request for retrieving a specific movie by its ID using the endpoint `/api/v1/movies/{id}`. The response returns detailed information for a single movie, demonstrating the API's capability to provide targeted data retrieval. This endpoint is essential for movie detail pages and supports efficient data loading by fetching only the required movie information.

GET Single Movie by ID

POST Movie Review Creation

This Postman example illustrates the POST request functionality for creating movie reviews via the `/api/v1/reviews` endpoint. The request body contains the review content and associated IMDB ID, while the response confirms successful creation with the generated review ID and stored content. This demonstrates the API's ability to handle user-generated content and maintain relationships between reviews and movies.

POST Movie Review Creation

Features

  • RESTful API endpoints for movie data retrieval
  • Movie catalog with comprehensive details
  • Review system for user feedback
  • MongoDB integration for data persistence
  • IMDB integration for movie metadata
  • JSON response format for easy consumption

Technologies Used

  • SpringBoot 3.0.1 Java web framework
  • Maven for managing dependencies
  • Lombok- Java annotation library
  • Spring Web- for building RESTful apps with Apache Tomcat
  • Spring Data MongoDB- for integration with MongoDB
  • MongoDB Atlas for storing movie collections

Project Details

Status

Complete

Help Me Improve

Have suggestions, feedback, or a different perspective? I value your input! It helps me shape better work and improve as a developer.

Contact Me