01 Über das Projekt
Die Kulturplattform Freiburg e. V. organisiert Veranstaltungen, Kurse und Begegnungsformate in Freiburg. Die Plattform bildet das ab, was der Verein tatsächlich tut: Aktivitäten mit Kategorien, Suche und Detailseiten, Kursangebote, Partner, Satzung, Spenden und ein Formular für Ehrenamtliche. Gepflegt wird alles vom Vorstand selbst — auch die Übersetzungen, die als Ressourcen in der Datenbank liegen und im Adminbereich bearbeitet werden. Ein neuer Text auf Deutsch und Türkisch braucht damit kein Deployment.
Das Backend ist ein .NET-10-Dienst nach Clean Architecture mit CQRS über MediatR, FluentValidation für die Eingaben, JWT und BCrypt für die Anmeldung und Entity Framework Core auf SQL Server — rund 22 Controller, dazu Tests auf Domänen-, Anwendungs- und Integrationsebene. Der Newsletter ist kein Mailto-Link, sondern ein eigener Ablauf: Double-Opt-in mit Bestätigungslink, Abmelde-Token in jeder Mail, Kampagnen pro Sprache und Versand in Stapeln, mit Azure Communication Services und SMTP als Rückfallebene.
Betrieben wird das Ganze auf einem eigenen Server: Docker Compose mit SQL Server, API und nginx, eigene Postfächer für den Versand, Backup- und Restore-Skripte daneben. Das Frontend ist eine React-Single-Page-App, die gegen dieselbe API läuft.
02 Highlights
- 01
Aktivitäten mit Kategorie-Filter, Suche und Detailseiten
- 02
Kursangebote, Partner, Satzung, Spenden und Ehrenamt-Formular
- 03
Zweisprachig (DE/TR) — Übersetzungen liegen in der Datenbank, nicht im Code
- 04
Newsletter mit Double-Opt-in, Abmelde-Token und Kampagnen pro Sprache
- 05
Versand über Azure Communication Services mit SMTP-Rückfallebene
- 06
Clean Architecture mit CQRS (MediatR) und FluentValidation
- 07
Tests auf Domänen-, Anwendungs- und Integrationsebene
- 08
Self-Hosting: Docker Compose mit SQL Server, API und nginx, eigene Postfächer
03 Technologie-Stack
- React
- .NET 10
- SQL Server
- MediatR / CQRS
- Entity Framework
- Docker
- nginx
- xUnit
Interesse an einer
Zusammenarbeit?
Erzählen Sie uns von Ihrem Vorhaben — wir sagen Ihnen ehrlich, was es braucht und was es kostet.
Kontakt aufnehmen