4953d192c03779a2c09112767501dfed95950fd3
Immorechner
Eine moderne Webanwendung zur Immobilienberechnung mit interaktivem Frontend und vollständiger REST-API.
Schnellstart
# Repository klonen
git clone <repository-url>
cd immorechner
# Docker-Container starten
docker-compose up -d --build
# Dependencies installieren
docker-compose exec web composer install
# Datenbank initialisieren
docker-compose exec web php bin/console doctrine:migrations:migrate --no-interaction
# Anwendung öffnen
# Frontend: http://localhost:8080
# API-Docs: http://localhost:8080/api/docs.html
# phpMyAdmin: http://localhost:8081
Features
Frontend (Web-Interface)
- 🧮 Interaktiver Immobilienrechner mit Live-Berechnungen
- 🔗 URL-Sharing für anonyme Nutzer (keine Registrierung nötig)
- 👤 Benutzer-Registrierung & Login
- 💾 Immobilien speichern (nur für registrierte Nutzer)
- 📊 Automatische Berechnungen: Grunderwerbsteuer, Gesamtkosten, Abschreibung, etc.
- 📱 Responsive Design (Mobile-optimiert)
Backend (REST-API)
- 🔌 Vollständige REST-API mit API Platform 4.2
- 🔐 Dual-Authentifizierung: Session-basiert (Frontend) & API-Key (API)
- 🔑 Rollenbasierte Zugriffskontrolle: USER, ADMIN, MODERATOR, TECHNICAL
- 📖 Swagger/OpenAPI Dokumentation
- 🏢 Mandantenfähigkeit: Jeder User sieht nur seine eigenen Immobilien
- 🌍 Öffentliche Ressourcen: Bundesländer und Heizungstypen ohne Authentifizierung
Technologie
- Backend: PHP 8.4, Symfony 7.3
- Frontend: Twig, jQuery, separates CSS/JS
- Datenbank: MariaDB
- Container: Docker & Docker Compose
- ORM: Doctrine 3.0
- API: API Platform 4.2
Dokumentation
📚 Detaillierte Dokumentation:
- Installation & Setup - Schritt-für-Schritt Installationsanleitung
- Features & Funktionalität - Übersicht aller Funktionen
- Technische Dokumentation - Architektur, Datenbank-Schema, Konfiguration
- API-Dokumentation - REST-API Endpunkte, Authentifizierung, Beispiele
- Entwicklung - Testing, Code Quality, Entwickler-Workflow
- Docker - Docker-Befehle und Container-Management
- Fehlerbehebung - Lösungen für häufige Probleme
Projekt-Struktur
immorechner/
├── config/ # Symfony Konfiguration
├── docs/ # Dokumentation
├── migrations/ # Datenbank-Migrationen
├── public/ # Web-Root, CSS, JS, Assets
├── src/ # PHP-Quellcode
│ ├── Controller/ # Controller (Frontend & API)
│ ├── Entity/ # Doctrine Entities
│ ├── Repository/ # Doctrine Repositories
│ └── Security/ # Authentifizierung
├── templates/ # Twig-Templates
├── docker-compose.yml # Docker Compose-Konfiguration
└── Dockerfile # Docker-Image für PHP/Apache
Verwendung
Frontend
Startseite (Rechner): http://localhost:8080
- Immobiliendaten eingeben
- Live-Berechnungen ansehen
- Link zum Teilen generieren
- Bei Anmeldung: Immobilie speichern
Registrierung: http://localhost:8080/register
Login: http://localhost:8080/login
Meine Immobilien: http://localhost:8080/meine-immobilien (nach Login)
API
API-Dokumentation (Swagger UI): http://localhost:8080/api/docs.html
API Entrypoint: http://localhost:8080/api
Öffentliche Endpunkte (ohne Authentifizierung):
GET /api/bundeslands- Alle BundesländerGET /api/heizungstyps- Alle Heizungstypen
Geschützte Endpunkte (API-Key erforderlich):
/api/immobilies- Immobilien-Management/api/users- Benutzer-Management
Schnelle Befehle
# Container starten
docker-compose up -d
# Container stoppen
docker-compose down
# Logs anzeigen
docker-compose logs -f
# In Container einloggen
docker-compose exec web bash
# Cache leeren
docker-compose exec web php bin/console cache:clear
# Tests ausführen
docker-compose exec web php bin/phpunit
Sicherheitshinweise
⚠️ Wichtig für Produktion:
- Ändern Sie alle Standardpasswörter in
docker-compose.ymlund.env - Generieren Sie einen neuen
APP_SECRET - Setzen Sie
APP_ENV=prod - Aktivieren Sie HTTPS
- Entfernen Sie phpMyAdmin
- Konfigurieren Sie CORS für Ihre Domain
Details siehe Technische Dokumentation.
Lizenz
[Lizenz hier einfügen]
Support
Bei Problemen siehe Fehlerbehebung oder öffnen Sie ein Issue.
Description
Languages
PHP
58.9%
Twig
32%
JavaScript
4.1%
CSS
3.8%
Dockerfile
1.2%