Tech-Stack – Meety

Dieser Stack deckt den kompletten Sprint-1-Kernloop (alle Must-have User Stories, US-01 bis US-09) vollständig ab. Ergänzungen für Sprint 2/3 sind bewusst nicht Teil des initialen Setups, sondern werden erst aufgenommen, wenn der jeweilige Sprint sie benötigt (kein Scope Creep, siehe S1-Entwickler-Bedürfnis).


1. Framework & Sprache

TechnologieLinkRolle im Projekt
Next.js (App Router)https://nextjs.org/Fullstack-TS-Monolith, Basis für Front- und Backend
TypeScripthttps://www.typescriptlang.org/Sprache für Front- und Backend im selben Codebase
Reacthttps://react.dev/UI-Layer innerhalb von Next.js

Bezug zu User Stories: Fundament für alle Stories, da jede Interaktion (Login, Formulare, Swipe-Screen) über App-Router-Routen bzw. React-Komponenten läuft.


2. UI & Styling

TechnologieLinkRolle im Projekt
Tailwind CSS (v4)https://tailwindcss.com/Utility-First-Styling
shadcn/uihttps://ui.shadcn.com/Komponenten-Bibliothek (Formulare, Dialoge, Cards)

Bezug zu User Stories:


3. Frontend ↔ Backend

TechnologieLinkRolle im Projekt
Server Actions + React Server Componentshttps://react.dev/reference/rsc/server-actionsTypesafe Datenfluss ohne separate API-Schicht (kein tRPC nötig)
useOptimistichttps://react.dev/reference/react/useOptimisticSofortiges UI-Feedback beim Swipen
TanStack Query (optional)https://tanstack.com/query/latestNur auf dem Swipe-Screen, falls clientseitiges Caching/Refetching nötig wird

Bezug zu User Stories:


4. Datenhaltung

TechnologieLinkRolle im Projekt
Neon (serverless Postgres)https://neon.tech/Datenbank, Free-Tier für MVP-Phase
Drizzle ORMhttps://orm.drizzle.team/Typesicherer DB-Zugriff
drizzle-kithttps://orm.drizzle.team/kit-docs/overviewMigrations-Tooling

Bezug zu User Stories:


5. Validierung & Formulare

TechnologieLinkRolle im Projekt
Zodhttps://zod.dev/Schema-Validierung, auch als Grundlage für Formulare
react-hook-formhttps://react-hook-form.com/Formular-State in Kombination mit shadcn/Zod

Bezug zu User Stories: US-02 Gruppe erstellen (Validierung von Name/Zeitraum vor dem Speichern)


6. Authentifizierung

TechnologieLinkRolle im Projekt
Better Authhttps://www.better-auth.com/OAuth-Login (Google), Nutzerverwaltung in eigener Neon-DB via Drizzle-Adapter

Bezug zu User Stories:


7. Hosting

TechnologieLinkRolle im Projekt
Vercel (Hobby)https://vercel.com/Deployment-Plattform für MVP
Coolifyhttps://coolify.io/Perspektivisches Self-Hosting auf Hetzner (später, nicht MVP)
Hetznerhttps://www.hetzner.com/Ziel-Infrastruktur für Self-Hosting

Bezug zu User Stories: Keine direkte Story-Zuordnung, aber Rahmenbedingung für Hosting Provider (EU-Serverstandort, Verfügbarkeit).


8. Hintergrundjobs

TechnologieLinkRolle im Projekt
Vercel Cron Jobshttps://vercel.com/docs/cron-jobsPeriodisches Neuberechnen der Terminvorschläge (kein Websocket/Live-Update)

Bezug zu User Stories: US-05 Gemeinsame Termine ermitteln (Rangliste wird per Cron statt in Echtzeit aktualisiert – bewusster Trade-off für den MVP, kein Live-Update über mehrere offene Tabs hinweg)


9. Sprint-1-Abdeckung (Zusammenfassung)

Der oben beschriebene Stack deckt alle Must-have Stories ab:

User StoryStack-Baustein
US-01 OnboardingBetter Auth
US-02 Gruppe erstellenServer Actions, Drizzle, Zod, shadcn
US-03 Gruppe beitretenBetter Auth, Server Actions
US-04 Verfügbarkeiten eintragenServer Actions, useOptimistic, Drizzle
US-05 Gemeinsame Termine ermittelnDrizzle-Query, Vercel Cron
US-06 Aktivitäten swipenuseOptimistic, TanStack Query (optional)
US-07 Gruppen-MatchDrizzle-Aggregation
US-08 Termin bestätigenServer Actions
US-09 Frei/belegt-SichtbarkeitDrizzle-Schema-Design

-> Für das initiale Setup ist kein weiteres Tool nötig


10. Geplante Ergänzungen für spätere Sprints (noch nicht im MVP-Setup)

Diese Technologien werden erst benötigt, wenn Sprint 2/3 aktiv angegangen wird – bewusst nicht Teil des initialen Setups.

TechnologieLinkBenötigt fürSprint
Web Push API + Service Worker (oder Managed-Service wie Novu/OneSignal)https://web.dev/articles/push-notifications-overview · https://novu.co/ · https://onesignal.com/US-11 Push-ErinnerungSprint 2
ics (npm-Paket)https://www.npmjs.com/package/icsUS-12 Kalender-ÜbernahmeSprint 2
Google Places APIhttps://developers.google.com/maps/documentation/places/web-service/overviewUS-13 Passende OrteSprint 2
(kein neues Tool – aggregierte Drizzle-Query genügt)US-14 Location-PartnerSprint 3, ohnehin Could-have

Notizen

  • Kalender-Sync (Google Calendar, US-12) nutzt die bereits in Better Auth gespeicherten OAuth-Tokens – kein separates Auth-System nötig.
  • Bei Einführung der Google Places API auf Kosten achten: kein großzügiges Free-Tier mehr (Stand: Recherche zum Zeitpunkt dieser Doku).