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.
- Introduction
- User Interface
- Live URLs
- Quick Links
- Platform Highlights
- Operational Modes
- Features & Usage
- Project Structure
- Service Catalog
- Deployment
- Environment Configuration
- Observability & Monitoring
- Operations Checklist
- CI/CD & Release
- Technology Stack
- API Documentation
- App Architecture
- Getting Started
- Privacy Policy
- Terms of Service
- Contributing
- License
- Code of Conduct
- Security Policy
- Contact
- Special Note
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.
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.
- 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
- Kibana:
http://localhost:5601 - Prometheus:
http://localhost:9090 - Grafana:
http://localhost:3000 - Jaeger:
http://localhost:16686
- 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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!
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 is a full-stack application with a production-ready microservices backend and an AI platform. Core directories include:
MovieVerse-Backend: Microservices, Django gateway, crawler, APIs, and data stores. (Read more)MovieVerse-AI: End-to-end AI/ML platform (pipelines, registry, inference). (Read more)MovieVerse-Frontend: Web UI and client assets. (Read more)MovieVerse-Mobile: Mobile app (Cordova). (Read more)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.
- 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 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).
- Datastores: PostgreSQL, MySQL, MongoDB, Redis, OpenSearch.
- Messaging: Kafka events + RabbitMQ queues for async workflows.
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.ymlfor backend services andMovieVerse-AI/docker-compose.ai.ymlfor AI. - Kubernetes: production manifests in
kubernetes/andMovieVerse-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, andjenkins/README.md.
The app is deployed with blue-green & canary deployments, autoscaling, and managed AWS services for reliability and scalability.
- Django gateway:
DJANGO_DEBUG,DJANGO_SECRET_KEY, andDJANGO_DB_ENGINE+DJANGO_DB_NAMEfor 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.ymlandkubernetes/base/secrets.ymlfor environment overrides. - Security: never commit secrets; use Secret managers or CI/CD variables.
- Metrics: each service exposes
/metrics(Prometheus scrape targets). - Tracing: Jaeger supports distributed tracing in the observability stack.
- Logging: ELK stack configured in
infrastructure/elk/anddocker-compose.observability.yml. - Dashboards: Grafana + Kibana for service health, latency, and logs.
- Set production secrets (
MOVIEVERSE_JWT_SECRET, database credentials,DJANGO_SECRET_KEY). - Ensure
MOVIEVERSE_AUTO_MIGRATE=falseand 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.
- Jenkins pipelines:
jenkins/Jenkinsfile.microservices,jenkins/Jenkinsfile.ai,jenkins/Jenkinsfile.infra. - Builds:
jenkins/scripts/build-images.shbuilds and pushes service images. - Deploy:
jenkins/scripts/deploy-k8s.shapplies Kubernetes manifests. - Infra:
jenkins/scripts/deploy-aws.shprovisions AWS dependencies via CloudFormation.
| 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 |
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.httpfor manual requests andMovieVerse-Backend/APIs/api_test_suite.pyfor 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)]
Use the /docs endpoint on each FastAPI service, or load MovieVerse-Backend/APIs/movieverse-openapi.yaml in Swagger UI.
Use the /redoc endpoint on each FastAPI service, or render MovieVerse-Backend/APIs/movieverse-openapi.yaml in ReDoc.
Here are some detailed flowcharts illustrating the microservices + AI architecture:
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]
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]
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]
docker compose -f docker-compose.microservices.yml up -dThe edge gateway is available at http://localhost:8080.
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.sqlOptional training and feature pipelines:
python -m movieverse_ai.pipelines.train_recommender
python -m movieverse_ai.pipelines.train_sentiment
python -m movieverse_ai.pipelines.train_rankerdocker compose -f docker-compose.microservices.yml -f docker-compose.observability.yml up -dexport DJANGO_DEBUG=true
export DJANGO_SECRET_KEY=change-me
python MovieVerse-Backend/django_backend/manage.py runservernpm install
npm startcd MovieVerse-Mobile
npm install
cordova platform add ios
cordova platform add android
cordova buildkubectl 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/Use the CloudFormation templates in aws/ or the Jenkins helper script:
jenkins/scripts/deploy-aws.sh- Fork the project and create a feature branch.
- Make changes and verify locally.
- Commit with
Update:orFix:prefixes and open a PR.
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.
By accessing or using The MovieVerse, you agree to be bound by our Terms of Service.
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.
Distributed under the Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0). See LICENSE.md for more information.
The MovieVerse is committed to fostering a welcoming community. Please refer to our Code of Conduct for more information.
The MovieVerse is committed to ensuring the security of the platform. Please refer to our Security Policy for more information.
Son Nguyen - @hoangsonww
Website: https://sonnguyenhoang.com
Email: Official MovieVerse Email
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.
