Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Welcome to the official documentation for UNIT3D - a modern, feature-rich private torrent tracker platform built with Laravel.

About UNIT3D

UNIT3D (pronounced “united”) is a powerful, open-source private torrent tracker solution that provides a comprehensive platform for managing and sharing content within your community. Built from the ground up with modern web technologies, UNIT3D combines excellent performance, security, and scalability with a feature-rich interface that rivals other private tracker softwares around the world. UNIT3D is a complete BitTorrent tracker management system designed for private communities. It handles everything from user management, torrent uploads and downloads, peer tracking, to community features like forums, achievements, real-time chat and much more. The codebase follows the MVC (Model-View-Controller) architectural pattern to ensure clarity between business logic and presentation, making it maintainable and extensible.

Technology Stack

UNIT3D is built on a modern technology stack:

Backend

  • PHP 8.4+ - Latest PHP version with performance enhancements and type safety
  • Laravel 12 - The leading PHP framework for web artisans
  • Livewire 3 - Full-stack framework for building dynamic interfaces without leaving Laravel
  • Laravel Scout - Full-text search with Meilisearch integration
  • MySQL 8+ - Relational database with strict mode compliance
  • Redis - In-memory data structure store for caching and queues

Frontend

  • AlpineJS 3 - Lightweight JavaScript framework for reactive interfaces
  • Vite - Next-generation frontend build tool
  • Livewire 3 - Reactive components without writing JavaScript
  • Socket.io - Real-time bidirectional event-based communication

Development & Quality

  • Pest - Elegant testing framework
  • Larastan - PHPStan wrapper for Laravel static analysis
  • Pint - Opinionated PHP code style fixer
  • Prettier + Blade Plugin - Blade code formatting
  • ParaTest - Parallel testing for faster test execution
  • Laravel Debugbar - Debugging and profiling

Project Structure

UNIT3D follows Laravel’s conventional directory structure with some custom additions:

UNIT3D/
├── app/                          # Application core
│   ├── Achievements/             # Achievement system
│   ├── Actions/                  # Single-purpose action classes (Fortify)
│   ├── Bots/                     # IRC and other bot integrations
│   ├── Console/                  # Artisan commands
│   ├── DTO/                      # Data Transfer Objects
│   ├── Enums/                    # Enumerations
│   ├── Events/                   # Event classes
│   ├── Exceptions/               # Custom exception handlers
│   ├── Helpers/                  # Helper functions
│   ├── Http/                     # Controllers, middleware, requests, livewire components, resources
│   ├── Interfaces/               # Contracts and interfaces
│   ├── Jobs/                     # Queued jobs
│   ├── Listeners/                # Event listeners
│   ├── Mail/                     # Mail classes
│   ├── Models/                   # Eloquent models
│   ├── Notifications/            # Notification classes
│   ├── Observers/                # Model observers
│   ├── Providers/                # Service providers
│   ├── Repositories/             # Data access layer
│   ├── Rules/                    # Validation rules
│   ├── Services/                 # External services (Rust announce, TMDB, IGDB)
│   ├── Traits/                   # Reusable traits
│   └── View/                     # View composers
│
├── bootstrap/                    # Framework bootstrap
│   ├── app.php                   # Application bootstrap
│   └── cache/                    # Compiled services and packages
│
├── config/                       # Configuration files
│   ├── app.php                   # Core application config
│   ├── database.php              # Database connections
│   ├── torrent.php               # Torrent-specific settings
│   ├── unit3d.php                # UNIT3D custom config
│   └── ...                       # 40+ configuration files
│
├── database/                     # Database layer
│   ├── factories/                # Model factories for testing
│   ├── migrations/               # Database migrations
│   ├── schema/                   # Database schema dumps
│   └── seeders/                  # Database seeders
│
├── lang/                         # Internationalization (60+ languages)
│   ├── en/                       # English translations
│   ├── es/                       # Spanish translations
│   ├── fr/                       # French translations
│   └── ...                       # 60+ language directories
│
├── public/                       # Web server document root
│   ├── index.php                 # Entry point
│   ├── build/                    # Compiled assets (Vite)
│   ├── img/                      # Images
│   └── sounds/                   # Audio files
│
├── resources/                    # Raw assets and views
│   ├── js/                       # JavaScript source files
│   ├── sass/                     # SCSS/Sass stylesheets
│   └── views/                    # Blade templates
│
├── routes/                       # Application routes
│   ├── web.php                   # Web routes
│   ├── api.php                   # API routes
│   ├── announce.php              # Torrent announce routes
│   ├── rss.php                   # RSS feed routes
│   ├── chat.php                  # Chat component routes
│   └── channels.php              # WebSocket channels
│
├── storage/                      # Generated files and logs
│   ├── app/                      # User uploads
│   ├── framework/                # Framework generated files
│   ├── logs/                     # Application logs
│   └── backups/                  # Automated backups
│
├── tests/                        # Automated tests
│   ├── Feature/                  # Feature tests
│   ├── Unit/                     # Unit tests
│   └── Pest.php                  # Pest configuration
│
├── book/                         # Documentation (mdBook)
│   └── src/                      # Documentation source
│
├── artisan                       # Laravel CLI tool
├── composer.json                 # PHP dependencies
├── package.json                  # Node dependencies
├── vite.config.js                # Vite build configuration
├── phpstan.neon                  # Static analysis configuration
├── pint.json                     # Code style configuration
└── phpunit.xml                   # PHPUnit test configuration