RODFLIX

A TV series catalogue app that lets you browse shows, dive into seasons and episodes, and click your way down rabbit holes you did not plan to enter. RodFlix was built as a full-stack university project, where I learned that databases are fun, until they start judging you for forgetting a foreign key.

RodFlix TV series catalogue web app

The Brief (And My Brief Existential Crisis)

The goal was to build a TV series catalogue application with a real database behind it, clear navigation between shows, seasons and episodes, and a working admin area for managing content. In theory, this sounded lovely. In practice, it meant carefully designing a schema, wiring up CRUD features, keeping the UI readable, and preventing the whole thing from collapsing the moment a user typed something creative into a search box. RodFlix is the result, a full-stack web app that demonstrates server side logic, database interaction, and a clean, structured interface. It is built to feel simple for the user, even when the back end is quietly doing a lot of heavy lifting.

Tech Stack

I kept it pragmatic and focused on fundamentals, server-side rendering, database design, and clean UI patterns. The project was built using:

PHP SQL JavaScript TVmaze API HTML CSS

Key Features

Series Catalogue & Search

Browse a growing list of shows, search by title, and get to the right series quickly, even when you only remember half the name and the vibe.

Show Details, Seasons & Episodes

A clear navigation flow from series to seasons to episodes, designed to keep exploration intuitive and reduce “where am I now?” moments.

Admin Area (Because Chaos Needs Structure)

An admin section for managing content, supporting create, edit and delete workflows, because someone has to keep the catalogue under control.

Database-Driven Architecture

A relational design focused on consistency and maintainability, so data stays organised and the app does not turn into a spreadsheet with feelings.

Challenges & Solutions

Challenge: Designing a database that supports series, seasons, episodes, and related information without turning every query into a small tragedy.

Solution: Built a clear relational structure and kept responsibilities separated, so the app can grow without breaking everything that already works.

Challenge: Making the UI feel simple while the app is doing data fetching, filtering, and rendering dynamically.

Solution: Kept screens predictable and consistent, used reusable UI patterns, and made sure users can always navigate back up a level without getting lost.

What I Learned

This project made server-side development feel real. Not theoretical, not tutorial-based, real. The kind of real where small mistakes have consequences, and those consequences appear immediately on screen.

I improved my understanding of relational databases, SQL querying, and how to structure an application so that the back end and front end stay readable. I also learned that input validation is not a “nice-to-have”, it is self-defence.

Most importantly, I came out of it more confident about building a full-stack application end to end, from data modelling to UI flow, and everything in between.

Project Gallery

← Back to Projects