{"id":18312071,"url":"https://github.com/settorka/myflix","last_synced_at":"2026-01-22T20:08:44.717Z","repository":{"id":219387797,"uuid":"748926231","full_name":"settorka/myflix","owner":"settorka","description":"Microservice-based video streaming platform developed with Flask.  Dockerized and deployed via Jenkins pipeline to GCP VM clusters. Postgresql for auth data, MongoDB for subscriptions and telemetry.","archived":false,"fork":false,"pushed_at":"2024-02-22T08:34:15.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-09T12:14:22.732Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/settorka.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-27T03:59:14.000Z","updated_at":"2024-08-02T14:58:42.000Z","dependencies_parsed_at":"2024-01-27T05:24:00.387Z","dependency_job_id":"b612057a-6e51-4ac4-9576-1e618d934580","html_url":"https://github.com/settorka/myflix","commit_stats":null,"previous_names":["settor21/myflix","settorka/myflix"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/settorka/myflix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/settorka%2Fmyflix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/settorka%2Fmyflix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/settorka%2Fmyflix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/settorka%2Fmyflix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/settorka","download_url":"https://codeload.github.com/settorka/myflix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/settorka%2Fmyflix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28670366,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T19:36:09.361Z","status":"ssl_error","status_checked_at":"2026-01-22T19:36:05.567Z","response_time":144,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T16:22:17.444Z","updated_at":"2026-01-22T20:08:44.692Z","avatar_url":"https://github.com/settorka.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# myflix\nNetflix Clone deployed on Google Cloud\n\n\nDesign\nDevOps Pipeline\nhttps://ibb.co/VwGnSKp\n\nMicroservice Architecture\nhttps://ibb.co/4Jx6jY5\n\nImplementation\nContains 3 Flask microservices for \n- user authentication (https://github.com/settor21/myFlix_userAccess)\n- subscriptions (https://github.com/settor21/myFlix_userSubscriptions)\n- video streaming (https://github.com/settor21/myFlix_videoCatalogue)\n\nWas deployed on Google Cloud VM instances running Ubuntu (20GB).\nJenkins was used to load the coad from Github and dockerize it in the remote server.\n\nAn VM instance running NGINX was setup to \n - use the domain name myflix.world for https access and SSL certification.\n - Perform load balancing across multiple instances of the production server running the 3 dockerized microservices or the 2 dockerized DB services\n - \nAnother VM instance was created to setup databases for use in the applications (MongoDB and Postgresql).\n(https://github.com/settor21/myFlix_authDB)\n - For **polyglot persistence**\n - Postgresql for user and session info (salted using bcrypt) - /postgresql branch\n - MongoDB for Metadata (User clicks, user plays) - /mongoDB branch\n* Dockerized versions were deployed to handle requests. A 100GB disk was mounted to ensure persistence of data irrespective of the container\n\nThe metadata was then processed by Neo4J, with additional hooks to Tensorflow and the results sent back to mongoDB\n(https://github.com/settor21/myflix_recommendedVideos/   )\n \nStripe payment test page was used during signup to allow users to pay £5 monthly.\n\nThe movies were uploaded with metadata to GCP bucket using a movie upload microservice, \nrunning locally to optimse processing of large movie files (4K, 1080p @ 1GB+)\n(https://github.com/settor21/myFlix_movieUpload)\n\nSonarQube and Trivy were implemented on all VMs for security and AppArmor on production for docker container security \n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsettorka%2Fmyflix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsettorka%2Fmyflix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsettorka%2Fmyflix/lists"}