yogs0ddhoth / Cinematic_v2

A movie search engine combining movie information, ratings, and trailers, that allows users to save their favorite movie information

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cinematic_v2

A backend for third-party API calls data processing,persistance, and user auth; incorporating microservice architecture; built for the previous Cinematic Movie Finder Client refactored for Angular. A backend for third-party API calls data processing,persistance, and user auth; incorporating microservice architecture; built for the previous Cinematic Movie Finder Client refactored for Angular.

State of Progress - TODOS:

  • Implementing microservice architecture on the backend
    • Subgraph-Services:
      • Auth - dir path: ./auth - ✓SQLite, ✓Prisma ORM, ✓bcrypt, ✓JWT user auth
      • Movie Search - dir path: ./movie_search_service
        • ✓fetch ImDB API ✓Subgraph Federated
        • ✓ migrate from imdb to OmDB API to accommodate more robust api usage
        • ✓ refactor graph and schemas on MovieDB
        • ✓ configure for Federation and publish subgraph
        • TODO: rewrite unit tests
      • Movie-DB - dir path: ./server
        • ✓MongoDB, Prisma ORM, ✓refactor server
        • ✓ implement services for ✓User, ✓Genre, ✓Actor, ✓Movie
        • ✓ integrate JWT Auth for User
        • ✓ Migrate to Mongoose as a more performant longterm solution to WriteConflicts raised by concurrent MongoDB transactions used by Prisma's ORM (a short term workaround would have been to implement retry middleware)
        • handle errors caused by possible concurrent write to subdocument not an issue with mongoose upsert
        • ✓ update ✓models and services according to schema changes
        • ✓ configure resolvers
        • write unit tests for AppService
      • Trailer Search -
        • ✓ implement microservice to query Youtube API for movie trailers ✓ and filter results for relevance
        • ✓ respond with selected list of url paths
        • ✓ configure for Federation and publish subgraph
    • ✓ Configure supergraph and apollo router
  • Fill out Client:
    • ✓ generate gql types
    • replace legacy jquery rendering with angular/ngx-bootstrap rendering
    • create user authentication (login/logout forms) and profile components
    • create navbar components to link homepage, profile, and auth
  • Configure Docker:
    • finish docker/compose files
    • create image cluster locally
  • Deployment:
    • AWS: EC2

About

A movie search engine combining movie information, ratings, and trailers, that allows users to save their favorite movie information

License:Creative Commons Zero v1.0 Universal


Languages

Language:TypeScript 65.3%Language:Rust 21.9%Language:HTML 5.2%Language:JavaScript 5.0%Language:Go 1.6%Language:CSS 0.8%Language:Shell 0.2%Language:Dockerfile 0.1%