Skip to content

RalfHuesing/CashflowSimulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

161 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CashflowSimulator

License Platform Status

⚠️ WICHTIGER HINWEIS: PROJEKT IM AUFBAU

Dieses Projekt befindet sich aktuell in einer frühen Entwicklungsphase (Pre-Alpha). Die Software ist noch nicht funktionsfähig und dient derzeit vor allem der Entwicklung und Architektur-Validierung. Es gibt noch keine ausführbaren Releases.

Schau gerne später wieder vorbei oder folge dem Projekt, um Updates zu erhalten!


📖 Über das Projekt

CashflowSimulator ist eine leistungsstarke Desktop-Anwendung zur langfristigen Simulation von Vermögensentwicklung und Cashflows. Anders als einfache Zinseszins-Rechner zielt dieses Tool darauf ab, komplexe finanzielle Realitäten abzubilden.

Das Ziel ist eine detaillierte Vorsorge- und Finanzplanung, die echte steuerliche Gegebenheiten (Fokus: Deutschland) und Marktvolatilitäten berücksichtigt.

Geplante Kernfunktionen

  • Detaillierte Vermögenssimulation: Berücksichtigung von Aktien, Anleihen und ETFs.
  • Realistische Steuerlogik: Implementierung des deutschen Steuerrechts (Kapitalertragsteuer, Vorabpauschale, Teilfreistellung, FIFO-Prinzip).
  • Marktsimulation: Nutzung von historischen Daten oder Monte-Carlo-Simulationen (Volatilität, Drift), um Risiken sichtbar zu machen.
  • Cashflow-Events: Einmalige oder wiederkehrende Einnahmen/Ausgaben (z.B. Gehalt, Renteneintritt, Hauskauf).
  • Privacy First: Alle Daten werden lokal gespeichert. Keine Cloud, kein Tracking.

📸 Vorschau

(Hier später Screenshots der Benutzeroberfläche einfügen, sobald die UI steht)


🚀 Installation & Nutzung

Für Anwender

Aktuell gibt es noch keine fertige Version zum Herunterladen. Sobald eine stabile Version verfügbar ist, wirst du sie hier unter Releases finden.

Die Anwendung wird plattformübergreifend für Windows, macOS und Linux verfügbar sein.

Für Entwickler (Build from Source)

Wenn du dir den Code ansehen oder beim Aufbau helfen möchtest:

  1. Voraussetzungen:

    • .NET 9 SDK
    • Eine IDE (Visual Studio 2022, JetBrains Rider oder VS Code)
  2. Repository klonen:

    git clone [https://github.com/RalfHuesing/CashflowSimulator.git](https://github.com/RalfHuesing/CashflowSimulator.git)
    cd CashflowSimulator
  3. Projekt bauen:

    dotnet build CashflowSimulator.Desktop/CashflowSimulator.Desktop.csproj
  4. Starten (Desktop):

    cd CashflowSimulator.Desktop
    dotnet run

🛠 Technologie-Stack

Das Projekt setzt auf moderne .NET-Technologien und eine saubere Architektur (Clean Architecture / Schichtentrennung):

  • Core: C# / .NET 9
  • UI Framework: Avalonia UI (für Cross-Platform Desktop Support)
  • Architektur:
    • CashflowSimulator.Contracts: Datendefinitionen, DTOs und fachliche Schnittstellen (z. B. ISimulationRunner, IStockPriceService).
    • CashflowSimulator.Validation: FluentValidation-Validatoren (Single Source of Truth für Regeln).
    • CashflowSimulator.Engine: Reine Rechenlogik: SimulationRunner (monatliche Pipeline) mit ISimulationProcessor-Kette (CashflowProcessor, GrowthProcessor, LiquidityProcessor, InflationProcessor); keine UI, keine I/O.
    • CashflowSimulator.Infrastructure: Persistenz (Projekte: JSON; Simulationsergebnisse: SQLite), Kursdaten (DummyStockPriceProvider), Implementierungen für Contracts-Interfaces.
    • Hybrid-Persistenz: Projekte werden als JSON gespeichert. Jeder Simulationslauf schreibt in einen persistenten Drafts-Ordner unter AppData/Local/CashflowSimulator/Drafts/. Pro Lauf wird ein Unterordner {yyyyMMdd-HHmmss}_{RunId} angelegt mit simulation.db (SQLite-Ergebnisdaten) und input_scenario.json (Snapshot des Eingabe-Szenarios). Es werden nur die 5 neuesten Draft-Ordner behalten (Cleanup vor jedem neuen Lauf). Das Ergebnis-DTO liefert ResultFolderPath für spätere Auswertung.
    • CashflowSimulator.Desktop: Avalonia-UI, Composition Root, MVVM; Feature „Simulation starten“ und Anzeige der monatlichen Ergebnisse (Daten aus IResultAnalysisService/Repository).
    • CashflowSimulator.Shared: Gemeinsame Hilfen (derzeit Placeholder). Test-Projekte: Engine.Tests, Desktop.Tests, Validation.Tests.
  • Testing: xUnit

🗺 Roadmap

Wir arbeiten aktuell an folgenden Meilensteinen:

  • Grundlegende Architektur & Datenmodelle (Contracts)
  • Lifecycle-Phasen-Modell (Steuer-/Strategie-Profile, Validierung, Defaults)
  • Monatliche Simulations-Pipeline (Engine: SimulationRunner mit Cashflow-, Growth-, Liquidity-, InflationProcessor)
  • Anzeige Simulationsergebnis (Desktop: „Simulation starten“, monatliche Ergebnisse)
  • Kursabfrage-Basis (IStockPriceService, DummyStockPriceProvider, Button „Kurs aktualisieren“ im Portfolio)
  • FIFO-Tranchen (Kauf-/Verkaufsbestand pro Asset: AssetTrancheDto, Engine FIFO bei Verkauf, UI-Anzeige und Validatoren)
  • Steuer-Engine (Gewinn/Verlust aus FIFO, Vorabpauschale) – geplant
  • Validierungslogik für Eingaben
  • Grundaufbau der Benutzeroberfläche (Avalonia XAML, Shell, Navigation, Feature-Bereiche)
  • Persistierung (Speichern/Laden von Projekten)
  • SQLite-Ergebnis-Persistenz (Drafts-Ordner pro Lauf mit simulation.db + input_scenario.json, Auto-Cleanup 5 neueste, ResultFolderPath im DTO)
  • Erste lauffähige Beta-Version – geplant

🤝 Mitwirken

Beiträge sind willkommen! Da sich das Projekt noch im Aufbau befindet, öffne bitte zuerst ein Issue, bevor du einen Pull Request startest, um größere Änderungen zu besprechen.


📄 Lizenz

Dieses Projekt ist unter der MIT Lizenz veröffentlicht.

About

Eine Desktop-Anwendung zur langfristigen Finanzplanung und Monte-Carlo-Simulation. Mit realistischer deutscher Steuerlogik, Asset-Allokation und Cashflow-Modellierung. Basiert auf .NET 9 und Avalonia UI.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages