Skip to content

🍿 Welcome to The MovieVerse: Your definitive gateway to cinema! Explore, discover, and immerse yourself in a vast collection of films with our web platform. Experience the world of movies on our web version today. Show your love for cinema by giving us a star! 🌟

License

Notifications You must be signed in to change notification settings

hoangsonww/The-MovieVerse-Database

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

The MovieVerse App - Your Digital Compass to the Cinematic Universe 🎬🍿

The MovieVerse Logo

Welcome to The MovieVerse - your digital compass to the cinematic universe. Created by Son Nguyen and currently serving more than 1 MILLION USERS (with more than 350,000 active users per month), this application is completely free-to-use, designed to function as a bridge connecting movie enthusiasts with an extensive collection of films across various genres and periods. Dive into an ocean of narratives, where stories come to life, right at your fingertips with MovieVerse 🎬🍿!

This app is currently available at movie-verse.com.

Table of Contents

Introduction

The MovieVerse is an open-source, full-stack, and mobile-friendly application created with the vision of creating a seamless and enriching experience for movie lovers. It's more than just a database; it's a portal to explore, discover, and immerse yourself in the art of cinema.

Through The MovieVerse, users can search for movies, view detailed information, rate, and review films, and interact with a community of like-minded movie enthusiasts. It's a platform that celebrates cinema in all its forms, from blockbuster hits to indie gems.

Disclaimer

Important

This open-source repository is not the production repository for The MovieVerse. The deployed repository is private for security reasons. This repository is only for educational purposes and to showcase parts of codebase of The MovieVerse, which may differ significantly from the official, private codebase. However, this codebase is still functional (if you would like to run the app locally) and actively maintained.

User Interface

The MovieVerse App Interface

Live URLs

  • Official Website: https://movie-verse.com
  • Self-Hosted Edge Gateway (Docker Compose): http://localhost:8080
  • Self-Hosted AI API (Docker Compose): http://localhost:9100
  • OpenAPI Spec: MovieVerse-Backend/APIs/movieverse-openapi.yaml

Local Observability Endpoints

  • Kibana: http://localhost:5601
  • Prometheus: http://localhost:9090
  • Grafana: http://localhost:3000
  • Jaeger: http://localhost:16686

Platform Status

All Systems Operational Website Status Microservices AI Platform Kubernetes Observability CI/CD

Quick Links

  • Backend microservices: MovieVerse-Backend/README.md
  • AI platform: MovieVerse-AI/README.md
  • Middleware: MovieVerse-Middleware/README.md
  • Architecture deep dive: MovieVerse-Design/DESIGN.md
  • Kubernetes: kubernetes/README.md
  • AWS infrastructure: aws/README.md
  • Jenkins pipelines: jenkins/README.md

Platform Highlights

  • Full microservices architecture with a Django gateway (BFF) and FastAPI services.
  • Production AI/ML platform with feature store, registry, pipelines, and inference API.
  • Event-driven backbone via Kafka and RabbitMQ plus search via OpenSearch.
  • Edge routing, rate limiting, and security headers through Nginx + shared middleware.
  • Infrastructure-ready: Docker Compose, Kubernetes, AWS CloudFormation, Jenkins pipelines.
  • Observability stack with ELK, Prometheus, Grafana, and Jaeger.

Operational Modes

  • Local development: Docker Compose for microservices, AI stack, and edge gateway.
  • Staging/QA: Kubernetes manifests with environment-specific ConfigMaps/Secrets.
  • Production: AWS-managed data services + Kubernetes services + CI/CD automation.

Features & Usage

Search & Discover

  • Search Functionality: Find movies or TV shows by title, actor, director, or genre in our comprehensive database with ease.
  • Movie Details Page: View detailed information, including synopses, cast, crew, ratings, and reviews.
  • Curated Lists: Access collections of new releases, most popular, trending, genre-specific movies, and many more.
  • Cinematic Insights: Explore movie trivia, behind-the-scenes facts, and other interesting tidbits about your favorite films.

User Interaction

  • Interactive Database: Rate movies, write reviews, and read opinions from other users.
  • Movie Watch Lists: Create and manage watch lists for different genres, time periods, or preferences. The watchlists are saved to your account for easy access on any device.
  • Movie Matching: Discover movies that align with your preferences and ratings.
  • Live Translation: Translate movie information, reviews, and discussions into multiple languages for a global audience.

Navigating the MovieVerse

  • MovieBot Chat: Engage with our chatbot, MovieBot, for additional information about the application.
  • User Sign On: Create an account for a personalized experience with additional features like saving watchlists.
  • Cinematic Timeline: Explore cinema history by selecting specific time periods in the movie timeline.
  • User Profile: Customize your profile, manage your watch lists, and view your stats/information.

Enhanced User Experience

  • Responsive Design: Enjoy a seamless experience on various devices and screen sizes. The MovieVerse is optimized for all platforms, including desktop, tablet, and mobile.
  • Movie Recommendations: Receive suggestions based on your movie preferences and reviews with AI-powered recommendations.
  • Statistics and Insights: Access dynamically updating, ML-powered statistics for a tailored experience on both desktop and mobile.
  • Community Engagement: Connect with other users, create your profile, share your thoughts, rate movies, and engage in discussions about your favorite movies.
  • Chat Feature: Chat with other users, share your thoughts, and discuss movies in real-time.

Additional Features

  • Continuous Improvements: The platform is ever-evolving with regular updates and new features.
  • Free to Use: The MovieVerse is completely free to use, with absolutely no hidden costs or subscriptions.
  • Privacy & Security: The MovieVerse is committed to protecting your privacy and ensuring a secure platform.
  • Accessibility: The platform is designed to be accessible to all users, including those with disabilities.

And So Much More!

Google Analytics Stats

As a result of all this hard work, our app is currently attracting more than 300,000 active users per month, with a total of over 1.5 million users in the past 12 months!

The MovieVerse Analytics

Project Structure

The MovieVerse is a full-stack application with a production-ready microservices backend and an AI platform. Core directories include:

  1. MovieVerse-Backend: Microservices, Django gateway, crawler, APIs, and data stores. (Read more)
  2. MovieVerse-AI: End-to-end AI/ML platform (pipelines, registry, inference). (Read more)
  3. MovieVerse-Frontend: Web UI and client assets. (Read more)
  4. MovieVerse-Mobile: Mobile app (Cordova). (Read more)
  5. MovieVerse-Middleware: Shared middleware, security headers, and rate limiting. (Read more)

Platform and deployment assets live in kubernetes/, aws/, infrastructure/, deployment/, jenkins/, and docs/, alongside supporting utilities such as MovieVerse-Utilities and MovieVerse-Design.

Note

As a reminder, this repository is not the official production repository for The MovieVerse. The official codebase is private for security reasons. This repository is only for educational purposes and to showcase parts of the codebase of The MovieVerse, which may differ significantly from the official, private codebase. However, this codebase is still functional (if you would like to run the app locally) and actively maintained.

Service Catalog

Core Microservices

  • Auth Service: user registration, login, JWT issuance.
  • User Service: profile management and user preferences.
  • Movie Service: movie catalog and metadata ingestion.
  • Review Service: ratings, reviews, and event emission.
  • Search Service: OpenSearch-backed movie and review search.
  • Search Indexer Service: batch reindex pipelines for search.
  • Notification Service: notification API + RabbitMQ fan-out.
  • Recommendation Service: AI-backed recommendations with cache.
  • Metadata Service: genres, people, and analysis in MongoDB.
  • Crawler Service: crawl orchestration + RabbitMQ queue.
  • Data Platform Service: TMDB ingestion, health checks, controlled seeding.

AI Platform

  • AI API: inference endpoints for recommendations, similarity, ranking, sentiment, summarization, and vision.
  • Pipelines: feature builds, training, embeddings, and registry sync.
  • Model Registry: MLflow for experiments and artifact storage.
  • Feature Store: Feast (offline + Redis online store).

Data + Messaging

  • Datastores: PostgreSQL, MySQL, MongoDB, Redis, OpenSearch.
  • Messaging: Kafka events + RabbitMQ queues for async workflows.

Deployment

The official website is currently deployed LIVE at movie-verse.com. This repository ships a production-ready microservices + AI platform with containerized runtime, observability, and deployment automation.

  • Local stack: docker-compose.microservices.yml for backend services and MovieVerse-AI/docker-compose.ai.yml for AI.
  • Kubernetes: production manifests in kubernetes/ and MovieVerse-AI/k8s/.
  • AWS: CloudFormation templates in aws/ for RDS, MSK, MQ, OpenSearch, ElastiCache, and EKS.
  • CI/CD: Jenkins pipelines and scripts in jenkins/ for build, publish, and deploy.
  • Observability: ELK + Prometheus/Grafana/Jaeger assets in infrastructure/.
  • Docs: see kubernetes/README.md, MovieVerse-AI/k8s/README.md, aws/README.md, and jenkins/README.md.

The app is deployed with blue-green & canary deployments, autoscaling, and managed AWS services for reliability and scalability.

Environment Configuration

  • Django gateway: DJANGO_DEBUG, DJANGO_SECRET_KEY, and DJANGO_DB_ENGINE + DJANGO_DB_NAME for production DBs.
  • Microservices: MOVIEVERSE_ENVIRONMENT, MOVIEVERSE_AUTO_MIGRATE, MOVIEVERSE_JWT_SECRET, DSNs/URLs for Postgres, MySQL, Mongo, Redis, Kafka, RabbitMQ, and OpenSearch.
  • AI platform: MOVIEVERSE_AI_* for data sources, MLflow registry, and artifact storage (S3/MinIO).
  • Kubernetes: edit kubernetes/base/configmap.yml and kubernetes/base/secrets.yml for environment overrides.
  • Security: never commit secrets; use Secret managers or CI/CD variables.

Observability & Monitoring

  • Metrics: each service exposes /metrics (Prometheus scrape targets).
  • Tracing: Jaeger supports distributed tracing in the observability stack.
  • Logging: ELK stack configured in infrastructure/elk/ and docker-compose.observability.yml.
  • Dashboards: Grafana + Kibana for service health, latency, and logs.

Operations Checklist

  • Set production secrets (MOVIEVERSE_JWT_SECRET, database credentials, DJANGO_SECRET_KEY).
  • Ensure MOVIEVERSE_AUTO_MIGRATE=false and seeding disabled in production.
  • Configure Nginx ingress/TLS and trusted origins for the Django gateway.
  • Verify Kafka, RabbitMQ, and OpenSearch connectivity before scaling services.
  • Apply Kubernetes resource limits/quotas and tune autoscaling policies.
  • Confirm backups for Postgres, MySQL, Mongo, and OpenSearch indices.

CI/CD & Release

  • Jenkins pipelines: jenkins/Jenkinsfile.microservices, jenkins/Jenkinsfile.ai, jenkins/Jenkinsfile.infra.
  • Builds: jenkins/scripts/build-images.sh builds and pushes service images.
  • Deploy: jenkins/scripts/deploy-k8s.sh applies Kubernetes manifests.
  • Infra: jenkins/scripts/deploy-aws.sh provisions AWS dependencies via CloudFormation.

Technology Stack

Frontend Backend/API Data/Infra/DevOps AI/ML
HTML5 + CSS3 + Vanilla JS Django Gateway + DRF PostgreSQL + MySQL LightFM Recommenders
Webpack + Babel FastAPI Microservices + Uvicorn MongoDB + Redis SentenceTransformers + FAISS
Cordova Mobile Nginx Edge Gateway Kafka + RabbitMQ scikit-learn (ranking, sentiment)
WebAssembly + Emscripten Python 3.11 + SQLAlchemy + Pydantic OpenSearch + ELK Feast Feature Store
Node.js + npm OpenAPI + Swagger + ReDoc Prometheus + Grafana + Jaeger + Loki MLflow + Airflow
Font Awesome Icons + TypeScript (optional) JWT Auth (JOSE + Passlib) Kubernetes + Docker + Jenkins + AWS (EKS/RDS/MSK/MQ/S3/ElastiCache) PyTorch + MinIO

Python JavaScript TypeScript HTML5 CSS3 Font Awesome Node.js npm Webpack Babel Cordova WebAssembly Emscripten

Django Django REST Framework FastAPI Uvicorn Nginx OpenAPI Swagger ReDoc SQLAlchemy Pydantic

PostgreSQL MySQL MongoDB Redis OpenSearch Kafka RabbitMQ

ELK Elasticsearch Logstash Kibana Prometheus Grafana Jaeger Loki

Docker Docker Compose Kubernetes AWS CloudFormation EKS RDS MSK Amazon MQ ElastiCache S3 MinIO

Jenkins Airflow MLflow Feast FAISS SentenceTransformers LightFM scikit--learn PyTorch

API Documentation

The MovieVerse API surface is documented in MovieVerse-Backend/APIs/ with an OpenAPI spec and curated request examples. Each FastAPI service exposes /docs and /redoc when running, and the Nginx edge gateway fronts the unified API.

  • Use MovieVerse-Backend/APIs/api.http for manual requests and MovieVerse-Backend/APIs/api_test_suite.py for smoke tests.
flowchart LR
    Client[Web + Mobile Clients] --> Edge[Nginx Edge Gateway]
    Edge --> Gateway[Django Gateway / BFF]
    Gateway --> Auth[Auth Service]
    Gateway --> User[User Service]
    Gateway --> Movie[Movie Service]
    Gateway --> Review[Review Service]
    Gateway --> Search[Search Service]
    Gateway --> Recommend[Recommendation Service]
    Gateway --> Metadata[Metadata Service]
    Gateway --> Crawler[Crawler Service]
    Auth --> Postgres[(PostgreSQL)]
    User --> Postgres
    Review --> Postgres
    Movie --> MySQL[(MySQL)]
    Metadata --> Mongo[(MongoDB)]
    Search --> OpenSearch[(OpenSearch)]
    Recommend --> Redis[(Redis)]
    Recommend --> AI[MovieVerse AI API]
    Gateway --> Kafka[(Kafka Events)]
    Gateway --> RabbitMQ[(RabbitMQ Workers)]
Loading

Swagger Documentation

Use the /docs endpoint on each FastAPI service, or load MovieVerse-Backend/APIs/movieverse-openapi.yaml in Swagger UI.

ReDoc Documentation

Use the /redoc endpoint on each FastAPI service, or render MovieVerse-Backend/APIs/movieverse-openapi.yaml in ReDoc.

Architecture

Here are some detailed flowcharts illustrating the microservices + AI architecture:

Microservices Platform Overview

flowchart LR
    Clients[Web + Mobile Clients] --> Edge[Nginx Edge Gateway]
    Edge --> Gateway[Django Gateway / BFF]
    Gateway --> Services[FastAPI Microservices]
    Services --> Data[(Postgres, MySQL, Mongo, Redis, OpenSearch)]
    Services --> Events[(Kafka + RabbitMQ)]
    Services --> AI[MovieVerse AI Platform]
    Services --> Obs[Prometheus + Grafana + ELK]
Loading

Data + Search Pipeline

flowchart LR
    TMDB[TMDB + External Sources] --> DataPlatform[Data Platform Service]
    DataPlatform --> MovieSvc[Movie Service]
    DataPlatform --> MetadataSvc[Metadata Service]
    Crawler[Crawler Service] --> MovieSvc
    MovieSvc --> Indexer[Search Indexer Service]
    Indexer --> OpenSearch[(OpenSearch)]
    OpenSearch --> SearchSvc[Search Service]
    SearchSvc --> Gateway[Django Gateway]
Loading

AI/ML Lifecycle

flowchart TD
    Events[(Kafka Events)] --> Ingest[Ingest + Feature Builds]
    Ingest --> Feast[Feast Feature Store]
    Feast --> Materialize[Materialize Online Features]
    Materialize --> Redis[(Redis Online Store)]
    Ingest --> Train[Train Models]
    Train --> Registry[MLflow Registry]
    Registry --> Serve[AI API Inference]
    Serve --> Gateway[Django Gateway]
Loading

Getting Started

Local Quick Start (Microservices + Edge)

docker compose -f docker-compose.microservices.yml up -d

The edge gateway is available at http://localhost:8080.

Local AI Platform

docker compose -f MovieVerse-AI/docker-compose.ai.yml up -d
psql postgresql://movieverse:movieverse@localhost:5433/movieverse_ai \
  -f MovieVerse-AI/sql/postgres_init.sql

Optional training and feature pipelines:

python -m movieverse_ai.pipelines.train_recommender
python -m movieverse_ai.pipelines.train_sentiment
python -m movieverse_ai.pipelines.train_ranker

Observability Stack

docker compose -f docker-compose.microservices.yml -f docker-compose.observability.yml up -d

Django Gateway (Optional Dev Run)

export DJANGO_DEBUG=true
export DJANGO_SECRET_KEY=change-me
python MovieVerse-Backend/django_backend/manage.py runserver

Frontend Development

npm install
npm start

Mobile App (Cordova)

cd MovieVerse-Mobile
npm install
cordova platform add ios
cordova platform add android
cordova build

Kubernetes Deploy

kubectl apply -f kubernetes/base/
kubectl apply -f kubernetes/infra/
kubectl apply -f kubernetes/services/
kubectl apply -f kubernetes/edge/
kubectl apply -f MovieVerse-AI/k8s/

AWS Deploy

Use the CloudFormation templates in aws/ or the Jenkins helper script:

jenkins/scripts/deploy-aws.sh

Contribution Flow

  1. Fork the project and create a feature branch.
  2. Make changes and verify locally.
  3. Commit with Update: or Fix: prefixes and open a PR.

Privacy Policy

The MovieVerse is committed to protecting your privacy. Our Privacy Policy page explains how your personal information is collected, used, and disclosed by The MovieVerse. Feel free to visit our Privacy Policy page to learn more.

Terms of Service

By accessing or using The MovieVerse, you agree to be bound by our Terms of Service.

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag enhancement.

License

Distributed under the Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0). See LICENSE.md for more information.

License: CC BY-NC 4.0

Code of Conduct

The MovieVerse is committed to fostering a welcoming community. Please refer to our Code of Conduct for more information.

Security Policy

The MovieVerse is committed to ensuring the security of the platform. Please refer to our Security Policy for more information.

Contact

Son Nguyen - @hoangsonww

Website: https://sonnguyenhoang.com

Email: Official MovieVerse Email

Special Note

Note

Please note that the MovieVerse is an ever-evolving platform, and more updates are underway. I am continually enhancing the user experience and adding new features to help you navigate the vast sea of cinema with ease and excitement!

Additionally, I'd also like to express special gratitude to The Movie Database (TMDb) for providing additional movie data that greatly enriches The MovieVerse experience!

Thank you for your understanding and support~ 🎬🍿


Created with ❀️ between 2023-2026 by Son Nguyen.

Β© 2026 The MovieVerse. All Rights Reserved.

About

🍿 Welcome to The MovieVerse: Your definitive gateway to cinema! Explore, discover, and immerse yourself in a vast collection of films with our web platform. Experience the world of movies on our web version today. Show your love for cinema by giving us a star! 🌟

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •