What the project aims to solve:
Streaming services are dominating the entertainment landscape, where the services often don't always provide the movies and TV shows that people want to watch. When they do provide the content people want to watch, said content can be removed at any given time. What this project aims to do is keep a track of different services, like Amazon or Google Play, that allow users to purchase the shows or movies so that they can watch them at any time they would like to.
Challenges that need to be resolved:
Creating the database:
We first need to create the relational database structure, and the different entities that will exist in the database. The article image is the rough draft the entity relationships.
- Media- Represents the piece of media. Whether that is the a television show, a movie, video game, book, comic, etc.
- Format- Is the kind of format that the media is available in, whether it is a physical release, or a digital service release.
- Service- The different online stores and services that carry the piece of media and it's current format.
- Availability- The many to many relationship between the format and service tables. Keeps track of it is available, how much it costs, the page where it is purchasable, when the availability was last updated, and if it is behind a drm.
Finding a database hosting site:
Where we can host the application's user interface, and the application's server.
Creating a microservice to keep track of potential buying options:
Rather than manually updating the availability of different products, we can use microservices to keep track of the availability data.
Ebay has API's related to keeping track of different potential items of purchase (https://developer.ebay.com/develop/buying-apps/marketplace-metadata)
Additionally, Steam has a public API call for keeping track of the different items where they will return a JSON file.
[Edit:] GoG (Good Old Games) has unofficial API documentation for getting product information to return a JSON file.
Setting up a log-in log out service
In order to make sure that anonymous users cannot vandalize specific entities within the database, there must be a way to keep track of accounts with different permissions for the site.
Creating a microservice to return details for potential purchasing options
As a nice idea for a potential API, I want to be able to return a JSON file containing all the potential options for buying a specific item through different services and stores. These would contain the media information, store information, physical information, and price.
Steps that have been already taken
- Researched available APIs for the microservice to keep track of data.
- Created a mock-up Entity-Relationship chart.
Current Alternatives
Currently, I have created custom content pages on this site to list out available purchasing methods for different forms of media.
An example of this is with Joe Pera Talks With You.
Add new comment