Files
immorechner/docs/features.md
2025-11-09 11:27:21 +01:00

6.9 KiB
Raw Permalink Blame History

Features & Funktionalität

← Zurück zur Hauptseite

Übersicht

Der Immorechner bietet zwei Hauptkomponenten:

  1. Web-Frontend - Interaktive Benutzeroberfläche für Endanwender
  2. REST-API - Programmgesteuerter Zugriff für Integrationen

Frontend-Features

1. Immobilienrechner (Startseite)

URL: http://localhost:8080/

Der Immobilienrechner ermöglicht die schnelle Berechnung wichtiger Kennzahlen einer Immobilie.

Eingabefelder

Feld Typ Beschreibung Pflicht
Adresse Text Vollständige Adresse der Immobilie Nein
Kaufpreis Zahl Kaufpreis in Euro Empfohlen
Wohnfläche Zahl Wohnfläche in m² Ja
Nutzfläche Zahl Nutzfläche in m² Nein
Zimmer Zahl Anzahl der Zimmer Empfohlen
Baujahr Zahl Baujahr der Immobilie Nein
Etage Zahl Stockwerk Nein
Immobilientyp Auswahl Wohnung, Haus oder Gewerbe Empfohlen
Bundesland Auswahl Deutsches Bundesland Empfohlen
Heizungstyp Auswahl Ölheizung, Gasheizung, Wärmepumpe, Pelletheizung Nein
Abschreibungszeit Zahl Jahre für Abschreibung (Standard: 50) Nein
Garage Checkbox Garage vorhanden? Nein

Live-Berechnungen

Alle Werte werden in Echtzeit berechnet (ohne Seitenreload):

  1. Gesamtfläche

    • Formel: Wohnfläche + Nutzfläche
    • Einheit: m²
  2. Preis pro m² Wohnfläche

    • Formel: Kaufpreis / Wohnfläche
    • Einheit: €/m²
  3. Grunderwerbsteuer

    • Formel: Kaufpreis × Grunderwerbsteuersatz des Bundeslandes
    • Sätze: 3,5% (Bayern) bis 6,5% (Brandenburg, NRW, Saarland, SH)
    • Einheit: €
  4. Gesamtkosten

    • Formel: Kaufpreis + Grunderwerbsteuer
    • Einheit: €
  5. Jährliche Abschreibung

    • Formel: Kaufpreis / Abschreibungszeit
    • Standard-Abschreibungszeit: 50 Jahre
    • Einheit: €/Jahr
  6. Alter der Immobilie

    • Formel: Aktuelles Jahr - Baujahr
    • Einheit: Jahre

2. URL-Sharing für anonyme Nutzer

Funktion: "Link teilen" Button

  • Kodiert alle Formulardaten in URL-Parameter
  • Ermöglicht Teilen der Berechnung ohne Registrierung
  • Link funktioniert auch nach Tagen/Wochen
  • Daten werden nicht in der Datenbank gespeichert
  • Ideal für schnelle Berechnungen und Vergleiche

Beispiel-URL:

http://localhost:8080/?adresse=Teststr+123&kaufpreis=300000&wohnflaeche=85&...

3. Benutzer-Authentifizierung

Registrierung

URL: http://localhost:8080/register

  • Name (Pflicht, mind. 2 Zeichen)
  • E-Mail (Pflicht, muss gültig und eindeutig sein)
  • Passwort (Pflicht, mind. 6 Zeichen)
  • Passwort bestätigen

Sicherheit:

  • Passwort wird mit bcrypt gehasht
  • E-Mail muss eindeutig sein
  • Validierung auf Client- und Server-Seite

Login

URL: http://localhost:8080/login

  • E-Mail
  • Passwort

Session-basiert:

  • Bleibt aktiv bis zum Logout
  • Cookie-basierte Session
  • CSRF-Schutz integriert

Logout

  • Link im Header "Abmelden"
  • Beendet Session
  • Redirect zur Startseite

4. Immobilien speichern (nur eingeloggte Nutzer)

Funktion: "Speichern" Button (erscheint nur nach Login)

  • Speichert alle eingegebenen Daten in der Datenbank
  • Immobilie wird dem eingeloggten Nutzer zugeordnet
  • Nutzer kann nur eigene Immobilien sehen
  • AJAX-basiert (kein Seitenreload)
  • Erfolgs-/Fehlermeldung als Alert

5. Meine Immobilien

URL: http://localhost:8080/meine-immobilien (nur nach Login)

Funktionen:

  • Übersicht aller gespeicherten Immobilien
  • Anzeige aller Details pro Immobilie
  • Berechnete Werte werden angezeigt
  • Sortierung nach Erstellungsdatum (neueste zuerst)

Angezeigt werden:

  • Typ, Kaufpreis, Flächen
  • Zimmer, Baujahr, Etage
  • Bundesland, Heizungstyp
  • Garage (Ja/Nein)
  • Erstellungsdatum

API-Features

Vollständige Details siehe API-Dokumentation

1. Dual-Authentifizierung

Session-basiert (Frontend):

  • Form-Login mit E-Mail/Passwort
  • Cookie-basierte Sessions
  • Für Web-Interface

API-Key-basiert (API):

  • Header: X-API-KEY
  • Automatisch generiert bei User-Erstellung
  • Für programmatischen Zugriff

2. Rollenbasierte Zugriffskontrolle

Rolle Rechte
USER Eigene Immobilien verwalten
ADMIN Alle Immobilien verwalten, alle User sehen
MODERATOR Erweiterte Rechte
TECHNICAL Bundesländer & Heizungstypen verwalten

3. Mandantenfähigkeit

  • Jeder User sieht nur eigene Immobilien
  • Admins sehen alle Immobilien
  • Automatische Filterung auf Basis des eingeloggten Users
  • Keine manuelle Filterung nötig

4. Öffentliche Ressourcen

Ohne Authentifizierung verfügbar:

  • GET /api/bundeslands - Alle Bundesländer mit Grunderwerbsteuersätzen
  • GET /api/heizungstyps - Alle Heizungstypen

Vorbefüllt:

  • 16 deutsche Bundesländer mit aktuellen Steuersätzen
  • 4 Heizungstypen (Öl, Gas, Wärmepumpe, Pellet)

5. Swagger/OpenAPI-Dokumentation

URL: http://localhost:8080/api/docs.html

Features:

  • Interaktive API-Dokumentation
  • "Try it out" Funktion für alle Endpunkte
  • Request/Response Beispiele
  • Schema-Dokumentation
  • Export als JSON/YAML

Technische Features

1. Responsive Design

  • Mobile-optimiert
  • Grid-Layout passt sich an Bildschirmgröße an
  • Touch-freundliche Buttons und Formulare

2. Performance

  • Live-Berechnungen ohne Server-Anfragen
  • AJAX für Speichern-Funktion (kein Reload)
  • Opcache aktiviert in Produktion
  • Doctrine Query Cache

3. Datenvalidierung

Frontend:

  • HTML5-Validierung
  • Required-Felder
  • Type-Checking (number, email, etc.)

Backend:

  • Symfony Validator
  • Doctrine Constraints
  • Custom Validation Rules

4. Sicherheit

  • CSRF-Protection für alle Forms
  • Passwort-Hashing mit bcrypt
  • SQL-Injection-Schutz durch Doctrine ORM
  • XSS-Schutz durch Twig Auto-Escaping
  • CORS-Konfiguration für API

5. Separation of Concerns

  • CSS in separaten Dateien (public/css/)
  • JavaScript in separaten Dateien (public/js/)
  • Templates mit Twig
  • Controller für Logik
  • Entities für Datenmodell

Berechnungslogik

Grunderwerbsteuer

Bundesland-spezifisch (Stand 2025):

Bundesland Steuersatz
Bayern 3,5%
Baden-Württemberg, Bremen, Niedersachsen, Rheinland-Pfalz, Sachsen-Anhalt, Thüringen 5,0%
Hamburg, Sachsen 5,5%
Berlin, Hessen, Mecklenburg-Vorpommern 6,0%
Brandenburg, NRW, Saarland, Schleswig-Holstein 6,5%

Kaufnebenkosten (nur API)

Bei API-Anfragen werden zusätzlich berechnet:

  • Notarkosten: ca. 1,5% des Kaufpreises
  • Grundbuchkosten: ca. 0,5% des Kaufpreises
  • Grunderwerbsteuer: siehe oben
  • Gesamt: Summe aller Nebenkosten

Siehe auch:

← Zurück zur Hauptseite