Kolophon
Technische Details des Bluesky Profile Roast
Zurück zur Hauptseite
Technologie-Stack
Programmiersprachen
Backend:
Java 21 (Amazon Corretto)
Frontend:
HTML, JavaScript, CSS
Datenbankmigrationen:
SQL
Frameworks & Bibliotheken
Backend:
Quarkus 3.19.1 (Jakarta EE-kompatibles Framework)
ORM:
Hibernate mit Panache für vereinfachte Datenbankoperationen
Datenbankmigration:
Flyway für automatisierte Schemaänderungen
Authentifizierung:
SmallRye JWT für JSON Web Token-Implementierung
Frontend:
HTMX für interaktive Benutzeroberfläche, TailwindCSS für Styling
Testing:
JUnit 5, Mockito, RestAssured, Selenium für UI-Tests
Logging:
Quarkus-Logging mit JSON-Formatierung
Datenbank
RDBMS:
PostgreSQL 15
Tabellen:
Nutzer, OTP-Tokens, OTP-Throttling, Bluesky-Profile, Roast-Daten
Transaktionsmanagement:
Jakarta Persistence API (JPA) mit Hibernate
Externe Dienste & Integrationen
Bluesky API:
Integration mit dem Bluesky-Protokoll für Profilabrufe
Google Gemini API:
KI-gestützte Textgenerierung für Roast-Inhalte
SMTP:
E-Mail-Versand für Magic-Link-Authentifizierung
Telegram API:
Monitoring-Benachrichtigungen für Systemereignisse
Infrastruktur & Deployment
Containerisierung
Docker:
Multi-Stage-Builds für optimierte Container-Images
docker-compose:
Orchestrierung der Anwendungscontainer und Datenbank
GitHub Container Registry:
Speicherung und Verteilung der Images
CI/CD-Pipeline
GitHub Actions:
Automatisierte Workflows für Builds und Tests
Automatisierte Tests:
Unit-Tests, Integrationstests und UI-Tests
Deployment:
Automatisches Deployment auf Staging und manuelle Freigabe für Produktion
Container-Sicherheit:
Image-Scanning für Sicherheitslücken
Laufzeitumgebung
Server:
Hetzner Cloud (ARM64-basierte virtuelle Maschinen)
Reverse Proxy:
Traefik für Routing und automatische SSL-Zertifikate
SSL:
Let's Encrypt für automatische Zertifikatserneuerung
DNS:
Externe DNS-Konfiguration mit CNAME-Einträgen für Subdomain-Routing
Monitoring & Betrieb
Health Checks:
Integrierte Quarkus-Healthchecks für Anwendung und Datenbank
Logging:
Strukturierte JSON-Logs mit Rotation und Archivierung
Metriken:
Smallrye Metrics für Leistungsüberwachung
Alarmierung:
Telegram-Benachrichtigungen bei kritischen Ereignissen
Entwicklungsumgebung
Lokale Entwicklung
JDK:
Amazon Corretto 21 (Java Development Kit)
Build-System:
Maven mit Quarkus-Maven-Plugin
Dev-Mode:
Quarkus-Entwicklungsmodus mit Hot-Reload-Funktionalität
Lokale Datenbank:
PostgreSQL (entweder nativ oder Docker-Container)
IDE:
Kompatibel mit IntelliJ IDEA, Eclipse, VS Code
Entwicklungsprozess
Version Control:
Git mit Feature-Branch-Workflow
Code-Review:
Pull Requests mit Peer-Reviews vor Merge
Qualitätssicherung:
Automatisierte Tests bei jedem Commit
Umgebungen:
Entwicklung, Test, Staging und Produktion
Architektur
Backend-Architektur
Schichtenarchitektur:
Repository → Service → Resource (Controller)
Dependency Injection:
CDI (Context and Dependency Injection)
REST API:
JAX-RS-konformes API mit JSON-Datenaustausch
Authentifizierung:
JWT-basierte Authentifizierung mit Magic Links
OTP-Sicherheit:
Rate-Limiting und Throttling für One-Time-Passwords
Frontend-Architektur
HTML-first:
Progressive Enhancement mit HTMX
JavaScript:
Minimaler Einsatz von JavaScript für erweiterte Interaktivität
CSS:
Utility-First-Ansatz mit TailwindCSS
Responsive Design:
Mobile-first Layout für alle Bildschirmgrößen