Revert "Update project README"
All checks were successful
Tests / Laravel tests (pull_request) Successful in 11m57s

This reverts commit 6c5d0e4a9b.
This commit is contained in:
2026-06-03 23:00:05 +02:00
parent 6c5d0e4a9b
commit 2034814939

140
README.md
View File

@@ -1,125 +1,79 @@
# CV Roberto # Interactieve Laravel CV Applicatie
Dit project is mijn interactieve CV en tegelijk een voorbeeld van hoe ik een Laravel-app opzet. Deze Laravel-applicatie is gebouwd als mijn interactieve en dynamische cv. In plaats van een statisch pdf-bestand, kun je hier real-time mijn:
Niet bedoeld als groot framework of demo met zoveel mogelijk patterns. Wel als compacte applicatie waarin je kunt zien hoe ik omga met CRUD, validatie, uploads, tests, statische analyse, formatting en CI. - **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. ## 🧰 Techniek & Stack
- 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 - **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
Deze checks horen groen te zijn voordat een merge logisch is: 1. **Clone deze repo:**
```bash ```bash
composer test git clone https://github.com/roberto-guagliardo/cv-app.git
composer analyse cd cv-app
composer format:check
npm run format:check
npm run build
``` ```
In de workflow worden dezelfde checks afgedwongen: 2. **Installeer dependencies:**
- PHPUnit/Pest feature tests ```bash
- Larastan op level 7 composer install
- PHP formatting via Pint npm install && npm run build
- Blade formatting via Blade Formatter ```
Skipped tests zijn alleen acceptabel als dat bewust is, zoals disabled registratieflows. Larastan en formatting moeten gewoon groen zijn. 3. **Maak .env aan en configureer je database, storage en Telegram:**
## Lokaal draaien
```bash ```bash
cp .env.example .env cp .env.example .env
composer install
npm ci
php artisan key:generate php artisan key:generate
```
4. **Voer migraties & seeders uit:**
```bash
php artisan migrate --seed php artisan migrate --seed
npm run build ```
5. **Geniet van de app:**
```bash
php artisan serve php artisan serve
``` ```
Met Sail: ---
```bash ## 🌐 Live Demo
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: Wil je zien hoe het eruitziet? Bekijk mijn live cv op:
```env ➡️ [cv.robert.ooo](https://cv.robert.ooo)
ADMIN_NAME="Admin"
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=changeme123
```
## Development ---
PHP formatter: ## 📊 Bijdragen
```bash 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.
composer format
composer format:check
```
Blade formatter: ---
```bash ## 💌 Contact
npm run format
npm run format:check
```
Tests en analyse: 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).
```bash
composer test
composer analyse
```
## Keuzes
Controllers zijn bewust redelijk dun gehouden. Validatie zit in Form Requests, testdata komt uit factories en image handling blijft dicht bij de resource waar het bij hoort.
De publieke personalia endpoint geeft ook hidden items terug. Dat is bewust: `hidden` betekent hier niet geheim, maar niet direct zichtbaar voor bots. Na een bewuste klik mag de waarde verschijnen.
Skills worden niet op datum gesorteerd. Voor dit CV zegt type/groep meer dan aanmaakdatum.
## Nog bewust open
Dit project blijft in ontwikkeling. Dingen die ik apart zou oppakken:
- npm audit warnings triagen
- request validation tests uitbreiden
- queue jobs testen met `Http::fake()`
- README/screenshots verder aanscherpen wanneer de UI definitief is
## Contact
Gebruik het contactformulier op de site of stuur me een bericht via [Telegram](https://t.me/robertguagliardo).