Skip to content

feat: Phasen 3-8 (CRUD, Realtime, Matching, Push, Polish, Admin, Deploy) - #5

Merged
Pascal-DCG merged 9 commits into
mainfrom
claude/vigilant-knuth-HXjHF
May 28, 2026
Merged

Pascal-DCG merged 9 commits into
mainfrom
claude/vigilant-knuth-HXjHF

Conversation

@Pascal-DCG

@Pascal-DCG Pascal-DCG commented May 28, 2026 •

Copy link
Copy Markdown
Owner

Summary

Schliesst die V1-Implementation von Kommit ab — Phasen 3-8 vom Projektplan, plus Lockfile-Sync und Branch-Cleanup.

Was ist drin

Phase 3 — Core CRUD

  • use-listings Hook (CRUD, Gruppierung nach Stadt, Type-Filter)
  • use-geolocation + use-geocoding (Photon Autocomplete, Nominatim Reverse)
  • listing-card, listing-list, listing-form, listing-detail
  • autocomplete-input, gps-button, avatar
  • app-shell Layout mit Header + FAB
  • Seiten: Home (mit Segmented Control), Create, Edit, Detail

Phase 4 — Realtime + Matching

  • Realtime-Subscription auf listings (INSERT/UPDATE/DELETE)
  • realtime-banner mit Animation ("2 neue Eintraege")
  • use-matches Hook ruft find_matches RPC auf
  • match-sheet Bottom-Sheet bei Treffern

Phase 5 — Notifications

  • use-push Hook (VAPID subscribe/unsubscribe)
  • sw-push.js Service Worker fuer Push-Empfang
  • send-push Edge Function — findet Matches und sendet Web Push

Phase 6 — Polish + Onboarding

  • 3-Slide Onboarding mit Framer Motion (localStorage-Flag)
  • Profil-Seite (editierbarer Name, Abmelden)
  • Settings-Seite (Push-Toggle, Telefonnummer-Sichtbarkeit, Admin-Link)
  • Header erweitert mit Settings-Icon

Phase 7 — Admin

  • admin-guard mit role-Check
  • admin-table mit Typ-/Stadt-Filter und Archiv-Toggle

Phase 8 — Deploy + Rechtliches

  • GitHub Actions CI Pipeline (type-check, lint, build) — wird beim Merge auf main aktiv
  • Datenschutz-Seite (§ 5 TMG-kompatibel, Platzhalter)
  • Impressum-Seite (Platzhalter)

Cleanup

  • pnpm-lock.yaml synchronisiert (fixt ERR_PNPM_OUTDATED_LOCKFILE auf Vercel)
  • package-lock.json entfernt (versehentlicher npm-Lockfile)
  • main gemerged — Pascal's Supabase- und Telegram-Aenderungen jetzt im Branch

Test plan

  • CI laeuft gruen (type-check, lint, build)
  • Vercel-Build laeuft durch (Lockfile-Fix war Voraussetzung)
  • Login-Flow funktioniert mit echten Telegram-Gateway-Credentials
  • Eintrag erstellen → Match-Sheet erscheint bei Treffern
  • Realtime-Banner taucht auf, wenn anderer Client neuen Eintrag erstellt
  • Push-Benachrichtigung kommt an (nach VAPID-Setup)
  • Admin sieht Tabelle + Archiv-Toggle

TODO nach dem Merge

  • .env-Variablen in Vercel setzen: VITE_SUPABASE_URL, VITE_SUPABASE_ANON_KEY, VITE_VAPID_PUBLIC_KEY
  • VAPID-Schluessel generieren (Public in Frontend, Private als Supabase Secret)
  • Telegram Gateway Token als Supabase Secret hinterlegen
  • Datenschutz/Impressum-Platzhalter mit echten Daten fuellen
  • Ersten Admin per SQL setzen: UPDATE profiles SET role = 'admin' WHERE id = '...'

https://claude.ai/code/session_01G1v5ZGvnrS5hb6eX2hfxKb

claude added 6 commits May 27, 2026 19:57
- useListings Hook mit CRUD, Gruppierung nach Stadt, Type-Filter
- useGeolocation Hook fuer Browser GPS
- useGeocoding Hook mit Photon Autocomplete + Nominatim Reverse
- useProfiles Hook fuer Profil-Laden nach User-IDs
- AutocompleteInput mit debounced Photon-Suche
- GpsButton fuer GPS + Reverse Geocoding
- ListingCard mit Avatar, Route, Zeit, Plaetze, Kontakt-Buttons
- ListingList mit Sticky-City-Headers und Empty-State
- ListingForm fuer Erstellen/Bearbeiten (Type-Toggle, Autocomplete, Stepper)
- ListingDetail mit Profil-Card, Kontakt-Buttons, Edit/Delete
- Avatar-Komponente mit Initialen und deterministischer Farbe
- AppShell Layout mit Header, Logo, FAB
- Home-Seite mit Segmented Control (Alle/Angebote/Anfragen)
- Create, Edit, Detail Seiten mit vollem CRUD
- format.ts mit Datum/Zeit/Telefon-Formatierung

https://claude.ai/code/session_01G1v5ZGvnrS5hb6eX2hfxKb
- Realtime-Subscription auf listings (INSERT/UPDATE/DELETE)
- Neue Eintraege sammeln sich als Pending, Banner zeigt Anzahl
- RealtimeBanner mit Animation: "2 neue Eintraege" — Klick zeigt sie
- useMatches Hook ruft find_matches RPC nach Listing-Erstellung auf
- MatchSheet Bottom-Sheet zeigt passende Gegen-Eintraege
- Create-Seite integriert Matching: Sheet bei Treffern, sonst Redirect

https://claude.ai/code/session_01G1v5ZGvnrS5hb6eX2hfxKb
- usePush Hook: subscribe/unsubscribe mit VAPID, speichert in push_subscriptions
- sw-push.js Service Worker fuer Push-Empfang und Notification-Click
- send-push Edge Function: findet Matches, sendet Web Push an alle Subscriptions
- Raeumt abgelaufene Subscriptions (410 Gone) automatisch auf
- Create-Seite ruft send-push nach Matching auf (fire-and-forget)
- Service Worker Registration beim App-Start in main.tsx

https://claude.ai/code/session_01G1v5ZGvnrS5hb6eX2hfxKb
- 3-Slide Onboarding mit Framer Motion (ueberspringbar, localStorage-Flag)
- Profil-Seite: Avatar, Name editierbar, Abmelden
- Settings-Seite: Push-Toggle, Telefonnummer-Sichtbarkeit, Admin-Link
- useProfile Hook fuer Profil-Updates
- Header erweitert mit Settings-Icon
- App.tsx mit Onboarding-Gate und neuen Routen (Profil, Settings)

https://claude.ai/code/session_01G1v5ZGvnrS5hb6eX2hfxKb
- AdminGuard schuetzt Admin-Route (role-Check)
- AdminTable mit Typ-/Stadt-Filtern und Archiv-Toggle
- Admin kann alle Eintraege bearbeiten und loeschen
- Tabelle zeigt User, Route, Zeit, Typ, Plaetze, Erstellt-Datum
- Admin-Route in App.tsx mit doppeltem Guard (Auth + Admin)

https://claude.ai/code/session_01G1v5ZGvnrS5hb6eX2hfxKb
- GitHub Actions CI Pipeline (type-check, lint, build)
- Datenschutzerklaerung-Seite (Verantwortlicher, Daten, Speicherdauer, Rechte)
- Impressum-Seite (§5 TMG, Haftungsausschluss)
- Beide Seiten oeffentlich erreichbar (kein Auth noetig)
- Routen in App.tsx eingebunden

https://claude.ai/code/session_01G1v5ZGvnrS5hb6eX2hfxKb
@vercel

vercel Bot commented May 28, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
kommit Ready Ready Preview, Comment May 28, 2026 9:13pm

Fixes Vercel build failure: ERR_PNPM_OUTDATED_LOCKFILE
Lockfile was missing the supabase@^2.101.0 devDependency that
was added to package.json but never propagated to the lock.

https://claude.ai/code/session_01G1v5ZGvnrS5hb6eX2hfxKb
claude added 2 commits May 28, 2026 21:05
Pascal's supabase init merge accidentally added npm's package-lock.json.
Removing it to avoid lockfile confusion — pnpm-lock.yaml is the source of truth.

https://claude.ai/code/session_01G1v5ZGvnrS5hb6eX2hfxKb
@Pascal-DCG Pascal-DCG changed the title Claude/vigilant knuth h xj hf feat: Phasen 3-8 (CRUD, Realtime, Matching, Push, Polish, Admin, Deploy) May 28, 2026
@Pascal-DCG
Pascal-DCG merged commit 7b00fa8 into main May 28, 2026
4 checks passed

This branch was successfully deployed

1 active deployment
Preview — a7a1e657 Deployed May 28, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants