## Notes Patriate is a patriarchy/intersectionality rating app. ## System Diagram ### Inspirations - [IMDB](https://imdb.com) - [[Goodreads]] ### Use Cases - User should be able to search movies/media/content/actors/directors/producers/companies/genres/books - Datastore: Elasticsearch? - Initially use IMDB search while our own database gets populated? - User should be able to see movies/media/content - User should be able to rate & review movies/media/content - User should be able to share content/ratings - User should be able to pay to remove ads, else use Redis or something to show ads periodically - Gamify user contributions by number of content reviewed/added ### Business Units - API Gateway - Use AWS account to get data, if necessary - Check and see if user can do what, rate limiting, etc - Search Service - Use AWS account to get data, if necessary - Check and see if user can do what, rate limiting, etc - Rating Service - Uses own infrastructure - Gamification Service - Number of uploads - Number of ratings - Number of high ratings - Other users can rate ratings for accuracy ### Data Structures - Content - Movie - Release date - Description - Title - Relevant people - Book - Video (Instagram, Twitter, TikTok) - Post (Instagram) - Entity - Actor - Director - Producer - Influencer - Company - User - Free - Paid ## IMDB API Looks like it might cost a lot to use the IMDB API, so I might have to look for alternatives. ## Diagram - Users - API Gateway - Media Service - Uses some external API to get data via HTTP - Exposes data by using [[gRPC]] - Rating Service - In-house database - Exposes data by using [[gRPC]] ## Media Service APIs - GET /api/v1/media - GET /api/v1/media/{id} ## Rating Service APIs - POST /api/v1/rating