diff --git a/README.md b/README.md index a65fe98..0986122 100644 --- a/README.md +++ b/README.md @@ -1,79 +1,106 @@ -# Interactieve Laravel CV Applicatie +# CV Roberto -Deze Laravel-applicatie is gebouwd als mijn interactieve en dynamische cv. In plaats van een statisch pdf-bestand, kun je hier real-time mijn: +Dit project is mijn interactieve CV en tegelijk een voorbeeld van hoe ik een Laravel-app opzet. -- **Vaardigheden** (met beoordeling en iconen) -- **Werkervaring** -- **Opleidingen** -- **Persoonlijke gegevens** -- **Tags & kernkwaliteiten** +Live: [cv.robert.ooo](https://cv.robert.ooo) -zien — inclusief slimme automatisering, logging en Telegram-notificaties voor recruiterinteracties. +## 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. -## 🧰 Techniek & Stack +## Stack -- **Framework:** Laravel 12 -- **Frontend:** Tailwind CSS, Blade -- **DevOps-integraties:** Telegram alerts, Healthchecks, custom logging -- **CI/CD-ready:** Ondersteuning voor deploy hooks en jobs -- **Overige tools:** Docker, Nginx, Git, Redis, Cron, Promtail, Grafana +- Laravel 12 +- PHP 8.2+ +- Blade +- Tailwind CSS +- Pest +- Larastan level 7 +- Laravel Pint +- Blade Formatter +- Docker / Laravel Sail ---- +## Kwaliteitschecks -## ⚙️ Installatie - -1. **Clone deze repo:** +Deze checks horen groen te zijn voordat een merge logisch is: ```bash -git clone https://github.com/roberto-guagliardo/cv-app.git -cd cv-app +composer test +composer analyse +composer format:check +npm run format:check +npm run build ``` -2. **Installeer dependencies:** +In de workflow worden dezelfde checks afgedwongen: -```bash -composer install -npm install && npm run build -``` +- PHPUnit/Pest feature tests +- Larastan op level 7 +- PHP formatting via Pint +- Blade formatting via Blade Formatter -3. **Maak .env aan en configureer je database, storage en Telegram:** +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 -``` - -4. **Voer migraties & seeders uit:** - -```bash php artisan migrate --seed -``` - -5. **Geniet van de app:** - -```bash +npm run build php artisan serve ``` ---- +Met Sail: -## 🌐 Live Demo +```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 +``` -Wil je zien hoe het eruitziet? Bekijk mijn live cv op: +Voor de admin login kun je in `.env` deze waardes zetten en daarna opnieuw seeden: -➡️ [cv.robert.ooo](https://cv.robert.ooo) +```env +ADMIN_NAME="Admin" +ADMIN_EMAIL=admin@example.com +ADMIN_PASSWORD=changeme123 +``` ---- +## Development -## 📊 Bijdragen +PHP formatter: -Deze applicatie is persoonlijk en niet bedoeld voor publieke bijdragen, maar voel je vrij om de structuur of ideeën te gebruiken voor je eigen showcase-app. +```bash +composer format +composer format:check +``` ---- +Blade formatter: -## 💌 Contact +```bash +npm run format +npm run format:check +``` -Wil je mij benaderen voor een samenwerking of opdracht? -Gebruik het contactformulier op de site of stuur direct een bericht via [Telegram](https://t.me/robertguagliardo). +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).