Skip to content

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

License

Notifications You must be signed in to change notification settings

yogs0ddhoth/Cinematic_v2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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