⚠️ WICHTIGER HINWEIS: PROJEKT IM AUFBAUDieses 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!
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.
- 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.
(Hier später Screenshots der Benutzeroberfläche einfügen, sobald die UI steht)
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.
Wenn du dir den Code ansehen oder beim Aufbau helfen möchtest:
-
Voraussetzungen:
- .NET 9 SDK
- Eine IDE (Visual Studio 2022, JetBrains Rider oder VS Code)
-
Repository klonen:
git clone [https://github.com/RalfHuesing/CashflowSimulator.git](https://github.com/RalfHuesing/CashflowSimulator.git) cd CashflowSimulator -
Projekt bauen:
dotnet build CashflowSimulator.Desktop/CashflowSimulator.Desktop.csproj
-
Starten (Desktop):
cd CashflowSimulator.Desktop dotnet run
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) mitISimulationProcessor-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 mitsimulation.db(SQLite-Ergebnisdaten) undinput_scenario.json(Snapshot des Eingabe-Szenarios). Es werden nur die 5 neuesten Draft-Ordner behalten (Cleanup vor jedem neuen Lauf). Das Ergebnis-DTO liefertResultFolderPathfür spätere Auswertung. CashflowSimulator.Desktop: Avalonia-UI, Composition Root, MVVM; Feature „Simulation starten“ und Anzeige der monatlichen Ergebnisse (Daten ausIResultAnalysisService/Repository).CashflowSimulator.Shared: Gemeinsame Hilfen (derzeit Placeholder). Test-Projekte: Engine.Tests, Desktop.Tests, Validation.Tests.
- Testing: xUnit
Wir arbeiten aktuell an folgenden Meilensteinen:
- Grundlegende Architektur & Datenmodelle (
Contracts) - Lifecycle-Phasen-Modell (Steuer-/Strategie-Profile, Validierung, Defaults)
- Monatliche Simulations-Pipeline (Engine:
SimulationRunnermit 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
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.
Dieses Projekt ist unter der MIT Lizenz veröffentlicht.