Website for the heritage world of warcraft guild.
| app | ||
| bootstrap | ||
| config | ||
| database | ||
| docker/mysql | ||
| public | ||
| resources | ||
| routes | ||
| storage | ||
| tests | ||
| .editorconfig | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| .styleci.yml | ||
| artisan | ||
| composer.json | ||
| composer.lock | ||
| docker-compose.yml | ||
| package-lock.json | ||
| package.json | ||
| phpunit.xml | ||
| README.md | ||
| server.php | ||
| tailwind.config.js | ||
| webpack.mix.js | ||
Heritage WoW
Heritage WoW is a Laravel application for managing World of Warcraft characters and profession data. It supports importing profession exports, browsing recipes/items, and account login with username/password or Discord OAuth.
Features
- Character pages with owned professions and recipes
- Profession import pipeline (queued job) for sync/update
- Recipe and item listing pages
- Local authentication and Discord OAuth login
- Admin-only user management routes
Stack
- PHP/Laravel: Laravel 8
- Frontend: Blade + Tailwind CSS + Alpine.js
- Build tooling: Laravel Mix
- Database: MySQL (default in
.env.example)
Local Setup
-
Install dependencies:
composer install npm install -
Configure environment:
cp .env.example .env php artisan key:generate -
Update database and OAuth values in
.env(minimum: DB_*). -
Run migrations and seeders:
php artisan migrate --seed -
Start the app and asset pipeline:
php artisan serve npm run dev -
If using an async queue connection for imports, run a worker:
php artisan queue:work
Useful Commands
- Run tests:
php artisan test - Build production assets:
npm run prod - Create a user:
php artisan user:create <username> <password> - Create an admin user:
php artisan user:create <username> <password> --admin
OAuth (Discord)
To enable Discord login, set these variables in .env:
DISCORD_CLIENT_IDDISCORD_CLIENT_SECRETDISCORD_REDIRECT_URI
The callback route is /oauth/discord/callback.
License
This project is open-sourced software licensed under the MIT license.