Alle Projekte

Community- und Event-App

Community-App

Eine Community- und Event-App mit Fokus auf Privatsphäre, für iOS, Android und Web aus einer Codebasis.

Vor dem Launch, zu zweit entwickelt mit Tim

Hallo Sam

Frankfurt 6

Nachbau mit erfundenen Events. Die Vertrauensstufe stellst du im Konto unter Einstellungen um.

Kernkompetenzen

  • Sicherheit und Datenschutz
  • Mobile und Native
  • Backend und APIs
  • Infrastruktur und Betrieb
  • Testen und Verifizieren
  • KI-gestützte Entwicklung

Tech-Stack

  • Expo
  • React Native
  • Expo Router
  • NativeWind
  • TanStack Query
  • MapLibre GL
  • NestJS 11
  • Prisma 7
  • PostgreSQL 18
  • CASL 7
  • Passport
  • otplib
  • TypeScript 6
  • Zod 4
  • OpenAPI
  • pnpm
  • Turborepo
  • Coolify
  • Docker
  • Grafana
  • Loki
  • GitHub Actions

Das Schwierigste

Der Treffpunkt, den die Suche kennen muss

Sicherheitsregeln gehören an eine Stelle, die man nicht umgehen kann.

Die ganze Geschichte
  1. Was man sah

    „Events in meiner Nähe“ braucht den genauen Ort. Wer wenig Vertrauen hat, darf aber nur die ungefähre Gegend sehen. Und bei rund 137 Routen reicht eine einzige vergessene Stelle, um den Treffpunkt zu verraten.

  2. Was wirklich los war

    Steht die Regel in jedem Endpunkt einzeln, läuft sie irgendwann auseinander. Speichert man den Ort gleich gerundet, stimmt die Umkreissuche nicht mehr.

  3. Die Lösung

    Ein einziger Mapper auf dem Server entscheidet, wer was sieht. Intern bleibt der Ort exakt und wird erst gerundet, wenn er den Server verlässt.

2.215
Commits in 9 Wochen, von beiden Entwicklern zusammen
~7.650
automatisierte Tests, davon ~1.600 gegen den echten Server
32
Datenbankmodelle, rund 137 HTTP-Routen
In einfachen Worten

Menschen finden Events in ihrer Nähe, aber nicht jeder sieht alles. Wie genau du den Treffpunkt siehst, hängt davon ab, wie sehr dir die Community vertraut. Der Name bleibt vor dem Start bewusst geheim.

In vielen Communitys ist es ein echtes Sicherheitsthema, wer wann weiß, wo man sich trifft. Das soll nicht an einer Einstellung hängen, sondern in der Architektur stecken.

So funktioniert es

Schritt 1 von 4

Anfrage

Die App fragt nach Events in der Nähe. Suche per Bounding Box und Haversine, mit harter Obergrenze.

Was gebaut wurde
  • Events mit Serien, Kapazitätslimits, Teilnehmerlisten, Kommentaren und Teilen-Links
  • Standortsuche mit Bounding Box und Haversine, nach Entfernung sortiert, plus Event-Karte
  • Sichtbarkeit nach Vertrauen, an einer einzigen Stelle im Server erzwungen
  • Tickets mit QR-Code, die auch offline hinter einer Biometrie-Sperre öffnen, plus Scanner mit Einmal-Scans
  • Refresh-Token-Rotation mit Reuse-Erkennung, TOTP-Step-up, Rate-Limiting ohne gespeicherte Adressen
  • Feed, Push, Moderation und ein LLM-Moderations-Worker, der ohne Tools läuft
Wie die Kompetenzen eingesetzt wurden
Sicherheit und Datenschutz
Token-Rotation mit Reuse-Erkennung, Wiederherstellung, Kontolöschung, Datenexport und Sichtbarkeit nach Vertrauensstufe
Mobile und Native
iOS, Android und Web aus einer Expo-Codebasis, mit Offline-Persistenz, MapLibre und Biometrie
Backend und APIs
Rund 137 HTTP-Routen, 32 Datenbankmodelle, Zod-Schemas und CASL-Regeln in einem geteilten Paket
Infrastruktur und Betrieb
Coolify, Docker, nginx, systemd-Timer, GitHub Actions, Grafana, Loki und Alloy
Testen und Verifizieren
Rund 7.650 Tests, End-to-End gegen eine laufende API und ein echtes Postgres
KI-gestützte Entwicklung
Claim-System für zwei Entwickler und ihre Agenten auf einem Trunk, plus Repo-Gates für Raw SQL, API-Abdeckung und OpenAPI
Meine Rolle

Einer von zwei Entwicklern, beide mit eigenen Agenten auf einem Trunk. Mit meinem Multi-Dev-Agent-Workflow, basierend auf Context Observer.

Siehe Projekt Context Observer
Nächstes ProjektAhoyMusic