Apamea
Plattform zur Vermögensverfolgung für Aktien, Krypto und Immobilien, bei der jede Bewertung, Rendite und jeder Währungseffekt serverseitig berechnet und in Euro ausgewiesen wird.


Architecture Overview
graph TB
subgraph Web["apps/web — React 19 + Vite"]
A[TanStack Router] --> B[TanStack Query]
B --> C[Recharts panels]
A --> D[Zustand stores]
end
subgraph Contracts["packages/core"]
E[Zod schemas + response types]
end
subgraph Server["apps/server — NestJS on Fastify"]
F[Controller] --> G[Service]
G --> H[Loader]
G --> I[Calculator]
G --> J[Presenter]
end
subgraph Data
K[(PostgreSQL via Drizzle)]
L[Market data port]
M[(Redis cache)]
end
B <-->|REST| F
E --> A
E --> F
H --> K
I --> L
L --> N[Twelve Data / EODHD]
G --> M
Eine bei Poyesis entwickelte Anwendung zur Vermögensverfolgung. Sie führt ein einziges Portfolio über drei Anlagebereiche — börsennotierte Aktien, Krypto und Immobilien — auf einem gemeinsamen Modell: ein Portfolio hält Positionen und Assets, und jedes davon besteht aus Lots, den einzelnen Käufen, die die Anschaffungskosten tragen.
Sämtliche Geschäfts- und Darstellungsmathematik läuft auf dem Server. Durchschnittskosten, Marktwert, realisierte und unrealisierte Gewinne, geldgewichtete Rendite, Allokationsanteile und der Währungseffekt erreichen das Frontend als fertige Zahlen — der Browser stellt dar und rechnet nie neu. Der Euro ist die Berichtswährung: alles, was über mehrere Bestände summiert wird, wird zuvor aus der jeweiligen Handelswährung umgerechnet.
Die Server-Domänen sind nach Verantwortung statt nach Bequemlichkeit getrennt. Ein Service orchestriert einen Loader, einen Calculator und einen Presenter; der Loader besitzt jeden Zugriff auf seine Tabelle; der Calculator trägt seine Formel in der Zeile über der Rechnung. Frontend und Backend teilen ihre Verträge als Zod-Schemata in einem Paket, sodass jede Route einmal für beide Seiten typisiert ist.
Hauptfunktionen:
- Ein Portfolio für Aktienpositionen, Krypto-Assets und Immobilienprojekte
- Anschaffungskosten je Lot mit gewichtetem Durchschnittspreis, Provision, Steuer und FX-Gebühren
- Geldgewichtete Rendite (XIRR) und Kapitalmultiplikator je Bestand
- Wertkurven im Vergleich zu einem Referenzindex, mit isoliertem Währungseffekt
- Kursentwicklungstabellen über konfigurierbare Vergleichszeiträume
- Dividendenverfolgung aus manuellen Buchungen und Positionsschließungen
- Immobilienprojekte mit Businessplänen, Deal-Pipeline und Alles-oder-nichts-CSV-Import
- Geokodierte Objektstandorte auf einer interaktiven Karte
- Passkey-fähige Authentifizierung und vorsignierte S3-Anhänge
- Durchgehend französische Benutzeroberfläche
Tech-Stack:
- Frontend: React 19, Vite 7, TanStack Router/Query/Table, Zustand, Recharts, Tailwind v4
- Backend: NestJS 11 auf Fastify, Drizzle ORM, PostgreSQL, Redis
- Verträge: TypeScript, Zod-4-Schemata im gesamten Monorepo geteilt
- Integrationen: Marktdaten von Twelve Data und EODHD, Better Auth, AWS S3, Resend, Slack
- Werkzeuge: pnpm workspaces, Turborepo, Node 24
Proprietäre Auftragsarbeit — das Repository bleibt privat.