Selected Work / Project

Full Stack Movie Application

Author: Thomas Bonderup Published: Focus area: 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.

Why this project matters

Context over abstraction

These projects show the technical environment, delivery pressure, and system constraints surrounding the work.

Decisions should be traceable

The useful part is understanding which architecture or implementation choices mattered and why they were taken.

Proof should be reusable

A strong project write-up leaves behind code, patterns, and lessons that another engineer can evaluate quickly.

Software & Architecture Software Development 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.

Project snapshot

Challenge

Design and deliver a full-stack search application with robust backend/data-layer architecture in a team setting.

Constraints

  • Four-person team with shared responsibilities.
  • Need both feature delivery and solid database/query design.
  • Tight project timeline with testing requirements.

Intervention

  • Designed normalized PostgreSQL schema and ER model for search use cases.
  • Implemented layered backend architecture with ASP.NET Core and Entity Framework.
  • Built SPA frontend flows and integrated with secure, paginated REST APIs.

Outcomes

  • Delivered an end-to-end searchable and bookmarkable movie application.
  • Implemented advanced query/search functionality with ranking and history tracking.
  • Applied unit and integration testing across critical service workflows.

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.

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.

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.

Thomas Bonderup

Thomas Bonderup

Senior Software Engineer

Specializes in IoT architecture, distributed systems, reliability and observability, edge-to-cloud delivery.

Builder notes and project references

If this portfolio entry feels close to something you're building, let's talk through the implementation details and tradeoffs.

These portfolio entries come from a mix of real delivery work, deep technical explorations, and earlier builder projects. If the constraints, tradeoffs, or implementation choices feel familiar, I can help you compare the next practical move.

Technical scope: IoT architecture, distributed systems, reliability and observability, edge-to-cloud delivery.

Explore related work or start a technical conversation

If this project overlaps with the systems you care about, continue into related work, the CV, or the contact page for hiring and technical follow-up.

Related content

Get in touch about this work

Use this for hiring conversations, collaboration, or technical follow-up.

Prefer direct contact? Call +45 22 39 34 91 or email tb@tbcoding.dk.

Best for hiring conversations, technical discussion, and thoughtful follow-up on published work.

Typical response time: same business day.