Portfolio Tracker – Full-Stack Plattform für Portfolio-Analyse
Portfolio Tracker ist eine Full-Stack-Plattform zur Verwaltung und Analyse von Wertpapier-Portfolios.
Sie kombiniert ein modernes Next.js Web-Frontend, ein NestJS-Backend, Hintergrundprozesse und eine native iOS-App.
Die Anwendung automatisiert Kursdaten-Updates, Splits, historische Auswertungen und integriert Authentifizierung, Testing und CI/CD-Deployment.
Features
-
Portfolio-Management
Erstellung, Verwaltung und Analyse von Portfolios mit Kurs-Tracking, Splits und Performance-Berechnung. -
Automatische Kursdatenverarbeitung
Hintergrundprozesse aktualisieren Aktienkurse, berechnen historische Daten und führen Splits durch. -
Plattformübergreifendes System
Web-Frontend (Next.js), Backend (NestJS) und native iOS-App (Swift) bieten eine ganzheitliche Benutzererfahrung. -
Vollständige Testautomatisierung
E2E-Tests (Cypress), Unit- und Integrationstests im Backend. -
DevOps & CI/CD
Produktionsnahe Container-Umgebung mit Docker Compose, Caddy-Proxy, Deploy-Skript und GitHub Actions-Workflows.
Technischer Aufbau (Tech Stack)
Frontend (Web)
- Next.js (React, TypeScript)
- TailwindCSS für modernes UI-Design
- Cypress für End-to-End Tests
- Dockerfile für Web-Builds
Backend
- NestJS (Node.js, TypeScript)
- Prisma ORM mit PostgreSQL
- JWT-Authentifizierung
- Swagger (Dokumentation der API-Endpunkte)
Mobile / iOS
- Native iOS-App
- Sprache: Swift
DevOps / Infrastruktur
- Containerisierung: Docker
- Reverse Proxy: Caddy
- Deployment: Shell-Skript auf Linux-Server
- CI/CD: GitHub Actions
Architektur & Implementierung
Architekturansatz
- API-First-Architektur (RESTfull via NestJS)
- Backend-Service mit Prisma-DB
- Separates Web-Frontend (Next.js) & iOS-Client (Swift)
- Worker Pattern: periodische Datenverarbeitung & Kursaktualisierung
"How-It-Works"
- Benutzerregistrierung & Login: Authentifizierung per JWT über NestJS-Auth-Modul.
- Portfoliomanagement: Nutzer erstellen und verwalten Portfolios, fügen Aktien hinzu und sehen Live-Werte.
- Kursdaten-Update: Hintergrundprozesse synchronisieren regelmäßig Marktdaten über externe APIs.
- Analyse & Visualisierung: Web-Frontend zeigt Performance, Allokation und historische Entwicklung.
Herausforderungen & Lösungsansätze
-
Komplexe Datenflüsse: Lösung durch modulare NestJS-Services & Prisma als zentralen ORM-Layer.
-
Mehrschichtige Plattform: Einheitliches Auth-System (JWT) über Web, iOS & API hinweg.
Projektkontext
- Rolle: Backend Development
- Verantwortlichkeiten:
- Entwicklung und Integration der API (NestJS)
- Konzeption und Implementierung der Datenbank (PostgreSQL & Prisma)
- Architektur und Umsetzung der Authentifizierung (JWT)
- Dokumentation der API-Endpoints mit Swagger
- Containerisierung mit Docker Compose
- Arbeitsweise: Agile nach SCRUM
- Entwicklungszeitraum: 2022