da4bdc6bf41113774c8b734bc00a6d4fc7ca42c5
All checks were successful
Tests / Laravel tests (pull_request) Successful in 12m3s
CV Roberto
Dit project is mijn interactieve CV en tegelijk een voorbeeld van hoe ik een Laravel-app opzet.
Live: 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:
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
cp .env.example .env
composer install
npm ci
php artisan key:generate
php artisan migrate --seed
npm run build
php artisan serve
Met Sail:
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:
ADMIN_NAME="Admin"
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=changeme123
Development
PHP formatter:
composer format
composer format:check
Blade formatter:
npm run format
npm run format:check
Tests en analyse:
composer test
composer analyse
Contact
Gebruik het contactformulier op de site of stuur me een bericht via Telegram.
Description
Languages
PHP
61.9%
Blade
37%
JavaScript
0.7%
CSS
0.4%