All checks were successful
Tests / Laravel tests (pull_request) Successful in 2m26s
107 lines
2.0 KiB
Markdown
107 lines
2.0 KiB
Markdown
# CV Roberto
|
|
|
|
Dit project is mijn interactieve CV en tegelijk een voorbeeld van hoe ik een Laravel-app opzet.
|
|
|
|
Live: [cv.robert.ooo](https://cv.robert.ooo)
|
|
|
|
## Wat zit erin
|
|
|
|
- Publieke CV-pagina met werkervaring, opleidingen, skills en personalia.
|
|
- Adminomgeving om CV-data te beheren.
|
|
- Afbeeldingsuploads via Spatie Media Library.
|
|
- Contactformulier met queue job voor Telegram-notificaties.
|
|
- Klikbare verborgen personalia, zodat bots de waarde niet direct in de HTML zien.
|
|
- Feature tests voor de belangrijkste controllerflows.
|
|
- CI-checks voor tests, Larastan en formatting.
|
|
|
|
## Stack
|
|
|
|
- Laravel 12
|
|
- PHP 8.2+
|
|
- Blade
|
|
- Tailwind CSS
|
|
- Pest
|
|
- Larastan level 7
|
|
- Laravel Pint
|
|
- Blade Formatter
|
|
- Docker / Laravel Sail
|
|
|
|
## Kwaliteitschecks
|
|
|
|
Deze checks horen groen te zijn voordat een merge logisch is:
|
|
|
|
```bash
|
|
composer test
|
|
composer analyse
|
|
composer format:check
|
|
npm run format:check
|
|
npm run build
|
|
```
|
|
|
|
In de workflow worden dezelfde checks afgedwongen:
|
|
|
|
- PHPUnit/Pest feature tests
|
|
- Larastan op level 7
|
|
- PHP formatting via Pint
|
|
- Blade formatting via Blade Formatter
|
|
|
|
Skipped tests zijn alleen acceptabel als dat bewust is, zoals disabled registratieflows. Larastan en formatting moeten gewoon groen zijn.
|
|
|
|
## Lokaal draaien
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
composer install
|
|
npm ci
|
|
php artisan key:generate
|
|
php artisan migrate --seed
|
|
npm run build
|
|
php artisan serve
|
|
```
|
|
|
|
Met Sail:
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
./vendor/bin/sail up -d
|
|
./vendor/bin/sail artisan key:generate
|
|
./vendor/bin/sail artisan migrate --seed
|
|
npm ci
|
|
npm run build
|
|
```
|
|
|
|
Voor de admin login kun je in `.env` deze waardes zetten en daarna opnieuw seeden:
|
|
|
|
```env
|
|
ADMIN_NAME="Admin"
|
|
ADMIN_EMAIL=admin@example.com
|
|
ADMIN_PASSWORD=changeme123
|
|
```
|
|
|
|
## Development
|
|
|
|
PHP formatter:
|
|
|
|
```bash
|
|
composer format
|
|
composer format:check
|
|
```
|
|
|
|
Blade formatter:
|
|
|
|
```bash
|
|
npm run format
|
|
npm run format:check
|
|
```
|
|
|
|
Tests en analyse:
|
|
|
|
```bash
|
|
composer test
|
|
composer analyse
|
|
```
|
|
|
|
## Contact
|
|
|
|
Gebruik het contactformulier op de site of stuur me een bericht via [Telegram](https://t.me/robertguagliardo).
|