77 lines
1.7 KiB
Markdown
77 lines
1.7 KiB
Markdown
# 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
|
|
|
|
1. Install dependencies:
|
|
|
|
```bash
|
|
composer install
|
|
npm install
|
|
```
|
|
|
|
2. Configure environment:
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
php artisan key:generate
|
|
```
|
|
|
|
3. Update database and OAuth values in `.env` (minimum: DB_*).
|
|
|
|
4. Run migrations and seeders:
|
|
|
|
```bash
|
|
php artisan migrate --seed
|
|
```
|
|
|
|
5. Start the app and asset pipeline:
|
|
|
|
```bash
|
|
php artisan serve
|
|
npm run dev
|
|
```
|
|
|
|
6. If using an async queue connection for imports, run a worker:
|
|
|
|
```bash
|
|
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_ID`
|
|
- `DISCORD_CLIENT_SECRET`
|
|
- `DISCORD_REDIRECT_URI`
|
|
|
|
The callback route is `/oauth/discord/callback`.
|
|
|
|
## License
|
|
|
|
This project is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
|