Codeflix is a feature-rich, scalable video streaming application built with Laravel 12. Designed to emulate the core functionalities of Netflix, it offers a robust architecture featuring multi-profile user accounts, subscription-based access, comprehensive admin management, and a high-performance infrastructure using Redis, MinIO, and Meilisearch.
- Multi-Profile System: Users can create up to 5 profiles per account (including Kids mode) with independent watch history and lists.
- Smart Subscription: Tiered subscription plans (Basic, Premium) with seamless Midtrans payment integration.
- Interactive Player: Custom video player with resume capability, "Continue Watching", and progress tracking.
- Watchlist: Personal "My List" for saving movies and series.
- Responsive Design: Fully responsive UI built with Tailwind CSS and Alpine.js for a fluid mobile and desktop experience.
- Authentication & Security: Robust auth system using Laravel Fortify.
- Payment Gateway: Integration with Midtrans (Snap API) supporting both Sandbox and Production environments.
- High Performance:
- Redis: Used for Session management, Caching, and Queues.
- Meilisearch: Blazing fast full-text search engine for movies and series.
- Storage: S3-compatible object storage via MinIO for media assets.
- Email System: Transactional emails (Welcome, Subscription, Expiry) tested with Mailpit.
- Comprehensive Dashboard: Real-time stats on users, subscriptions, and revenue.
- Content Management: Full CRUD for Movies, Series, Episodes, Cast, and Categories.
- User Management: detailed user insights and role management.
| Component | Technology | Description |
|---|---|---|
| Framework | Laravel 12 | The PHP Framework for Web Artisans |
| Frontend | Blade, Tailwind CSS, Alpine.js | Modern, reactive, and utility-first UI |
| Database | MySQL 8.x | Relational data storage |
| Cache/Session | Redis | High-performance in-memory data store |
| Queue | Redis | Background job processing |
| Search | Meilisearch | Instant search experience |
| Storage | MinIO (S3 Compatible) | Local S3-compatible object storage |
| Mailpit | SMTP testing tool for local development | |
| Payments | Midtrans | Payment Gateway integration |
| Landing Page | Login Page |
|---|---|
![]() |
![]() |
| Home Dashboard | Subscription Plans |
|---|---|
![]() |
![]() |
| Checkout (Midtrans Snap) |
|---|
![]() |
| Admin Dashboard |
|---|
![]() |
- PHP 8.2+
- Composer
- Node.js & NPM
- FlyEnv (Recommended) or Local Server with Redis, MinIO, and Mailpit running.
-
Clone the Repository
git clone https://github.com/rendrazuriansyah/codeflix.git cd codeflix -
Install Dependencies
composer install npm install && npm run build -
Environment Configuration Copy the example layout which is already pre-configured for the FlyEnv stack:
cp .env.example .env
Then update the specific keys in
.env:DB_PASSWORD(if applicable)MIDTRANS_SERVER_KEY&MIDTRANS_CLIENT_KEY(Get from Midtrans Dashboard)
-
Generate App Key
php artisan key:generate
-
Database & Seeding Run migrations and seed the database with demo content (including Admin user):
php artisan migrate --seed
Default Admin:
admin@codeflix.com/admin123 -
Run Application
php artisan serve
Access the app at
http://localhost:8000.
The project includes built-in configuration for local infrastructure testing:
- Mailpit: Access email inbox at
http://127.0.0.1:8025 - MinIO: Access object storage console at
http://127.0.0.1:9001
Copyright © 2026 Rendra Zuriansyah. All Rights Reserved.
This project is a personal portfolio and is not open-source. The code is provided for demonstration purposes only. You may view the code to evaluate my skills, but you may not use, reproduce, distribute, or modify any part of this codebase for commercial or non-commercial purposes without my explicit written permission.





