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