Portfolio / Customer Case

Full Stack Movie Application

Author: Published: Engagement type: Software & Architecture

In this project, I worked in a four-person team to develop a full stack movie application for searching and bookmarking movies from IMDb. The application was designed from scratch with a PostgreSQL database, backend services, and a single-page frontend application.

In this project, I worked in a four-person team to develop a full stack movie application for searching and bookmarking movies from IMDb. The application was designed from scratch with a PostgreSQL database, a backend system, and a single-page application for the frontend.

Full stack movie application with IMDb data

Links to the code:
https://github.com/ThomasBonderup/RAWDATA-project-group-1
https://github.com/ThomasBonderup/RAWDATA1-portfolio-subproject-2

Database Design

I contributed to designing a relational database schema for the movie application, including database normalization and entity–relationship (ER) modeling.

ER diagram of the full stack movie application

Database Functionality

The project included the development of advanced database query functionality, such as searching for movie titles, trigger functions to store user search queries in a search history table, extended search functionality based on title, plot, characters, and actors, exact-match queries using inverted indexes to match intersecting search terms, VARIADIC arrays, and search ranking functionality.

Application Design

The backend system was developed using ASP.NET Core with C#. The architecture followed a layered software architecture, consisting of a Web Service Layer implemented with ASP.NET Core MVC to expose a REST API. This API communicated with a Data Access Layer implemented using Entity Framework, utilizing Data Transfer Objects to persist data in a PostgreSQL database running on a server.

Pagination was added to the REST API along with basic API security through user authentication. Unit tests and integration tests were used extensively throughout the project.

Single Page Application

The movie application was designed as a Single Page Application (SPA), with functionality implemented in JavaScript using the Knockout web framework. Bootstrap was used to provide the user experience and layout.

Single page application for movie title page

Do you have questions about this case?

If you are working with similar challenges, you are welcome to send a short message describing your setup and goals. I will get back to you the same business day with suggested next steps.

Telefon: +45 22 39 34 91 or email: tb@tbcoding.dk.

Typical response time: same business day.