Introduction
This guide will walk you through creating your first series, adding seasons and episodes, and uploading media content in MediaStream.Make sure you’ve completed the installation before proceeding.
Create Your Account
Register a new account
Navigate to
http://localhost:8000 and click Register.Fill in your account details:- Name
- Email address
- Password (minimum 8 characters)
Verify your email (optional)
If email verification is enabled, check your email and click the verification link.For local development, check the logs:
Create Your First Series
Create a new series
Click Create Series and fill in the details:
- Title: The name of your series (e.g., “Breaking Bad”)
- Description: A brief overview of the series
- Release Year: When the series was released
- Status: Active or Inactive
Add Seasons
Add Episodes (Chapters)
Create an episode
Click Add Episode and enter:
- Episode Number: Sequential number within the season
- Title: Episode title
- Description: Episode synopsis
- Duration: Length in minutes
- Air Date: When the episode aired
Episodes are referred to as “chapters” in the codebase (
ChapterController).Upload Media
MediaStream provides a centralized media library:Configure Application Settings
Customize MediaStream to fit your needs:Understanding the Architecture
MediaStream is built with:Frontend Stack
- Vue 3: Progressive JavaScript framework
- Inertia.js: Modern monolith architecture
- TypeScript: Type-safe JavaScript
- Tailwind CSS: Utility-first styling
- Vite: Fast build tool with HMR
Backend Stack
- Laravel 12: PHP framework
- Fortify: Authentication system
- SQLite/MySQL: Database
- Queue System: Background job processing
Development Workflow
Start development server
Use the convenient dev command that starts all services:This runs concurrently:
- Laravel server (
php artisan serve) - Queue worker (
php artisan queue:listen) - Log viewer (
php artisan pail) - Vite dev server (
npm run dev)
Watch for changes
Vite provides Hot Module Replacement (HMR) for instant updates:
- Edit Vue components in
resources/js/ - Modify styles in
resources/css/ - Changes reflect immediately in the browser
Code Quality Tools
MediaStream includes several code quality tools:Backend (PHP)
Frontend (JavaScript/TypeScript)
API Access
MediaStream provides a RESTful API for programmatic access:See the API Reference for complete API documentation.
Next Steps
Configuration
Learn about environment variables and advanced configuration
Series Management
Deep dive into managing series, seasons, and episodes
User Authentication
Configure authentication, 2FA, and user management
Architecture
Understand MediaStream’s technical architecture
Common Tasks
How to bulk upload episodes?
How to bulk upload episodes?
Currently, episodes must be uploaded individually through the UI. For bulk operations, consider using:
- Laravel Tinker for manual database operations
- Custom artisan commands
- The REST API with a script
How to change the default theme?
How to change the default theme?
Theme preferences are stored per-user. Initialize the theme in:Theme state is managed in
resources/js/composables/useAppearance.tsHow to enable/disable user registration?
How to enable/disable user registration?
Configure Fortify features in
config/fortify.php:How to add custom fields to series?
How to add custom fields to series?
- Create a migration to add database columns
- Update the Series model in
app/Models/ - Modify the SeriesController validation rules
- Update the Vue form component in
resources/js/pages/