Prerequisites
Before installing Heimerdinger.lol, ensure your system meets these requirements:PHP 8.2+
Laravel 11 requires PHP version 8.2 or higher with required extensions
Composer
Dependency manager for PHP packages
Node.js & npm
Required for building frontend assets with Vite
MySQL 8.0+
Relational database for storing application data
For a complete list of Laravel server requirements, visit the Laravel Documentation.
Required PHP Extensions
Ensure the following PHP extensions are installed and enabled:- OpenSSL
- PDO
- Mbstring
- Tokenizer
- XML
- Ctype
- JSON
- BCMath
- Fileinfo
- GD or Imagick (for image processing)
Installation Steps
Clone the Repository
Clone the Heimerdinger.lol repository to your local machine:This downloads the complete source code including all Laravel application files, migrations, and frontend assets.
Install PHP Dependencies
Use Composer to install all required PHP packages:This installs all dependencies defined in
composer.json:10-33, including:- Laravel Framework 11.x
- Laravel Octane for performance
- Laravel Pulse for monitoring
- Spatie packages for backup, sitemap, and query building
- Image processing libraries
- And more…
The installation may take several minutes depending on your internet connection.
Install Node Dependencies
Install frontend dependencies using npm:This installs packages from
package.json:12-28, including:- Vite for asset bundling
- TailwindCSS for styling
- Flowbite for UI components
- Axios for HTTP requests
Environment Configuration
Copy the example environment file and generate an application key:The
key:generate command creates a secure encryption key stored in your .env file. This key is used for encrypting session data and other sensitive information.Configure Environment Variables
Open the See the Configuration Guide for detailed information about all environment variables.
.env file and configure essential variables:.env
Create Database
Create a MySQL database for the application:Then in the MySQL prompt:The database name should match the
DB_DATABASE value in your .env file (.env.example:51).Run Database Migrations
Execute migrations to create all required database tables:This creates tables for:
- champions - Champion data and statistics (database/migrations/2023_10_25_180120_create_champions_table.php:1)
- champion_skins - Skin information and pricing (database/migrations/2023_10_26_175822_create_champion_skins_table.php:1)
- users - User authentication (database/migrations/2014_10_12_000000_create_users_table.php:1)
- pulse_* - Laravel Pulse monitoring tables (database/migrations/2023_06_07_000001_create_pulse_tables.php:1)
- And other supporting tables
If you need to reset the database, use
php artisan migrate:fresh (this will delete all data).Build Frontend Assets
Compile CSS and JavaScript assets:The development command starts the Vite dev server with hot module replacement. For production deployments, use the build command to create optimized assets.Vite compiles files from
vite.config.js:8:resources/css/app.css- TailwindCSS stylesresources/js/app.js- Main JavaScriptresources/js/lane-filter.js- Champion lane filteringresources/js/horizontal-scroll.js- UI scroll behavior
Post-Installation
Verify Installation
Visithttp://127.0.0.1:8000 in your browser. You should see the Heimerdinger.lol homepage.
Seed the Database (Optional)
If you want to populate the database with test data:Storage Link
Create a symbolic link for public storage access:public/storage to storage/app/public, allowing uploaded files to be publicly accessible.
Development Dependencies
For development, the following additional tools are included (composer.json:35-46):Laravel Debugbar
Laravel Debugbar
Displays debug information in the browser including queries, routes, and performance metrics.
Laravel IDE Helper
Laravel IDE Helper
Generates helper files for better IDE autocompletion.These commands run automatically after
composer update (composer.json:70-71).Laravel Pint
Laravel Pint
Code style fixer for maintaining consistent code formatting.
Rector
Rector
Automated code refactoring and PHP version upgrades.
Production Deployment
For production environments, additional steps are recommended:Troubleshooting
Permission Errors
Permission Errors
If you encounter permission errors, ensure the web server has write access to:
Composer Memory Limit
Composer Memory Limit
If Composer runs out of memory:
Missing PHP Extensions
Missing PHP Extensions
Check which extensions are loaded:Install missing extensions using your package manager (apt, yum, brew, etc.).
Database Connection Errors
Database Connection Errors
Verify your database credentials in
.env and ensure MySQL is running:Next Steps
Configuration Guide
Configure API keys, environment variables, and application settings
Contributing
Learn how to contribute to the project