Case study · Entertainment and media

OnScreenDB: a film and TV database that keeps itself up to date

OnScreenDB is a directory of films, TV shows and the people in them. Keeping that much data current by hand would be impossible, so we built the platform to update itself through integrations with several data providers.

The challenge

A film and TV directory lives or dies on its data. New films and episodes are released every day, and cast lists, ratings and trailers change constantly. For OnScreenDB, a side project run by one person, updating all of that by hand was never going to be possible.

What we built

We built OnScreenDB to look after itself. Integrations with several film and TV data providers keep the catalogue current automatically, so the owner can focus on growing the site rather than maintaining it.

  • Automated database management, pulling and reconciling data from multiple APIs.
  • Top-rated and popular lists for films and TV.
  • Background, ratings, cast and trailer information for each title, with trailers that play on the site.
  • A fast, mobile-friendly interface.
  • A custom admin panel for the things that still need a person.
  • Payments through Stripe and PayPal.

Tested so it can keep changing

We wrote automated tests alongside the features, which means new features can be released with confidence that nothing else has broken. For a platform that depends on outside data sources, that safety net matters: when a provider changes something, the tests show exactly what is affected.

Technology

OnScreenDB is built on Laravel 8 with an Angular front end and a MySQL 8 database. Media is stored on Amazon S3, and servers are managed with Laravel Forge on DigitalOcean.

The outcome

The platform launched after about 12 months of work, within the owner's budget, and the owner planned to keep working with Larasoft on future features.

Larasoft had a really impressive depth of knowledge when it came to APIs and integrating them. I quickly realised they were the right team to help me build OnScreenDB.

Luke BaxterOnScreenDB

More work

Other projects

Talk to a senior Laravel engineer

Book a free 30-minute call. Tell us what you are building or what is worrying you, and we will tell you honestly what we would do, what it costs and how long it takes.