# 🌿 GardenPlan – Gartenplanung MVP > Symfony-Basises fΓΌr die Multi-Garten-Planung mit Pflanzen, Aussaat, Ernte & Aufgaben. ## πŸ—οΈ Architektur Strikte Schichtenarchitektur (Clean / Hexagonal): **UI** β†’ **Logic** β†’ **Data** Details: [Architektur-Dokumentation](Doku/architektur.md) ## πŸ“‹ Anforderungsprofil [Hier ansehen](Doku/anforderungsprofil.md) --- ## πŸš€ Schnellstart ### 1. DockerCompose-Setup starten ```bash docker compose up -d ``` Startet folgende Services: | Service | Port | Beschreibung | |---------|------|-------------- | **nginx** | `80` / `443` | Webserver fΓΌr Symfony REST-API | **php-fpm** | (intern) | PHP 8.3 + Symfony Runtime | **PostgreSQL** | `5432` | Datenbank (`gardenplan` + `keycloak_db`) | **Keycloak** | `8080` | OIDC/JWT Identity Provider ### πŸ”‘ Zugangsdaten (Dev) | System | Benutzer | Passwort | URL | |--------|----------|----------|-----| | **Database** | `symfony` | `changeme` | `postgresql://database:5432/gardenplan` | | **Keycloak Admin** | `admin` | `adminsecret` | http://localhost:8080 | | **Test-Nutzer** | `testuser` | `testpassword123!` | (in Keycloak Realm `gardenplan`) ### πŸ“¦ Nach dem ersten Start ```bash # In den PHP-Container wechseln docker compose exec php-fpm bash # Symfony Projekt setup cd /var/www/html composer install # Datenbankmigrationen ausfΓΌhren php bin/console doctrine:database:create php bin/console doctrine:migrations:migrate --no-interaction # JWT-SchlΓΌssel fΓΌr Lexik Bundle generieren php bin/console lexik:jwt:generate-keypair ``` --- ## πŸ“ Ordnerstruktur ``` src/ β”œβ”€β”€ UI/ # Controller, Commands, MessageHandlers β”œβ”€β”€ Logic/ # UseCases, Manager, Domain Services β”‚ β”œβ”€β”€ Domain/ # Models, DTOs, Validators, Policies β”‚ └── InfrastructureInterface/ # Provider / Processor Interfaces └── Data/ # Doctrine Entities, Mappers, Implementations ``` --- ## πŸ“– Aufgabenplan | Task | Beschreibung | Status | |------|-------------|--------| | [01 – Infrastruktur](Doku/Tasks/01-Infra.md) | Docker, DB, Keycloak Setup | βœ… In Arbeit | | 02 – Datenbank-Schema | Entities + Migrationen | ⏳ Offen | | 03 – Planning-Domain | GardenPlan Model, UseCases | ⏳ Offen | | 04 – REST API | Controller + DTOs | ⏳ Offen | | 05 – Auth & RBAC Keycloak Integration | ⏳ Offen | --- ## πŸ”§ Entwicklung ```bash # Logs einsehen docker compose logs -f php-fpm docker compose logs -f nginx # Container neu starten docker compose restart php-fpm # Alles stoppen docker compose down ``` ## .env-Variabeln kopieren & anpassen. Siehe `.env`. --- **🌱 Happy Gardening!**