← cd ../projects
Completed

WatchDB

A show-tracking web app with a Chrome extension that logs what you watch on Netflix automatically.

WatchDB lets users keep track of the shows they're watching across multiple lists. The twist is a Chrome extension that reads the current title and episode straight from Netflix's player and updates your list for you, so your watch history keeps itself up to date.

From WatchPilot to WatchDB

The project started in semester 2 as WatchPilot: requirements, use cases, a data model and UI wireframes, followed by a layered .NET application built around OO and SOLID principles, dependency injection and separated layers.

In semester 3 I rebuilt it as a full-stack application:

  • a React front-end (Bootstrap)
  • a .NET REST API with ASP.NET Identity for accounts
  • a Chrome extension that talks to the API from inside Netflix

Quality

  • Research and prototyping to find out how to read playback data from Netflix's player
  • Unit, integration and end-to-end tests, with code coverage and static analysis reporting
  • A CI/CD pipeline that built and deployed the app automatically
  • C4 architecture models (context, container and component)

Gallery

6 images

# Extension

  • The WatchDB extension running on top of a Netflix episode

# Architecture

  • C4 models: system context, containers and components
  • WatchPilot layered architecture: presentation, logic and data layers

# Design

  • Wireframe: the show dashboard
  • Wireframe: show details and episode progress

# Quality

  • Code coverage report generated in the pipeline