Thomas Bonderup

Full Stack Movie Application

Published Apr 20, 20229 min read0 comments

In this project I worked in a 4 person team, where we developed a full stack movie application to search and bookmark movies from IMDb. The application was designed from the ground up with a PostgreSQL database, backend and single page application for the frontend.

Full stack movie application with IMDb data

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

Database design

Designed relational database design with database normalization and E-R models for the full stack movie application.

ER-Diagram of full stack movie application

Database functionalities

Developed database query functionality to search for movie titles, trigger functions to save users queries into a search history table, extended search functionality to search for movie titles based on title, plot, characters and actor, exact-match querying with inverted index to match intersecting keywords, VARIADIC arrays, search ranking functionality.

Application Design

Designed backend system in ASP.NET Core with C# for the full stack movie application. The architecture consisted of a layered software architecture with a Web Service Layer developed in ASP.NET Core MVC to provide a REST API, that communicates with a Data Access Layer with Entity Framework through Data Transfer Objects to get data stored in a PostgreSQL database running on a server.

We added pagination to the REST API and basic security for the API with user authentication. Unit testing and Integration testing was used heavily in the project.

Single Page Application

The movie application was designed as a Single Page Application (SPA) with functionality developed in JavaScript and Knockout web framework. Bootstrap was used for UX.

Single page application for movie title page