Skip to content

chrisurr/sans

Repository files navigation

sans

Sicher feiern – und im Trubel aufeinander aufpassen.

Eine Safety-Buddy-App für Partys & Events: Melde dich an, lege Partys an und beauftrage andere Gäste, auf jemanden aufzupassen, der/die alleine unterwegs ist.

Expo SDK 56 React Native TypeScript React Navigation Platforms Status License


Note

Status: klickbarer Prototyp. Alle Daten liegen nur lokal auf dem Gerät (Mock-Daten + React Context) und werden beim Neustart zurückgesetzt – noch kein echtes Backend.

✨ Features

  • 🔐 Anmeldung & Registrierung – Mock-Auth, Session bleibt via AsyncStorage erhalten
  • 🎉 Events / Partys – ansehen, anlegen und zu-/absagen
  • 🛡️ Aufpass-Aufträge – wähle „wer ist alleine?" + „wer passt auf?" und sende den Auftrag
  • 🔔 Meine Aufträge – Anfragen annehmen/ablehnen, aktive Aufträge abschließen, sehen wer auf dich aufpasst
  • 👤 Profil – Statistiken & Logout
  • 🌙 Dunkles Party-Theme in Lila → Pink

🧠 Die Idee

Im Zentrum steht das Buddy-System. Ein Auftrag (WatchAssignment) verknüpft drei Dinge:

Rolle Bedeutung
Guardian 🛡️ der/die beauftragte Aufpasser:in
Ward 💜 die Person, die alleine ist und auf die aufgepasst wird
Event 🎉 die Party, bei der das passiert

Ein Auftrag durchläuft die Status: angefragt → angenommen / abgelehnt → abgeschlossen.

🚀 Schnellstart

Voraussetzungen: Node.js und die Expo Go-App auf dem Handy (iOS / Android).

# Abhängigkeiten installieren
npm install

# Dev-Server starten
npm start

Dann den angezeigten QR-Code scannen:

  • Android: direkt in der Expo-Go-App
  • iPhone: mit der Kamera-App → öffnet Expo Go

Alternativ im Terminal a (Android-Emulator) oder i (iOS-Simulator, nur macOS) drücken.

🔑 Demo-Login

Auf dem Login-Screen einfach auf einen Demo-Account tippen (z. B. benapp 🦊 – hat direkt eine offene Aufpass-Anfrage). Passwort für alle Demo-Accounts:

demo1234

🛠️ Tech-Stack

  • Expo SDK 56 + React Native 0.85 + React 19
  • TypeScript
  • React Navigation 7 (Bottom-Tabs + Native-Stack)
  • Expo Linear Gradient für das Theme
  • AsyncStorage für die Session

📁 Projektstruktur

App.tsx                      # Einstieg: Provider + Navigation
src/
├─ theme.ts                  # Farben, Abstände, Gradients
├─ types.ts                  # Domänen-Modelle (User, Event, WatchAssignment)
├─ data/mockData.ts          # Seed-Daten (Demo-User, Events, Aufträge)
├─ context/AppContext.tsx    # Globaler State + alle Aktionen
├─ components/               # Wiederverwendbare UI (Button, Card, Avatar, …)
├─ screens/                  # Login, Events, Detail, Aufträge, Profil, …
├─ navigation/               # Auth-Stack, Tabs, Root-Navigator
└─ utils/                    # ID- & Datums-Helfer

🧪 Entwicklung

npx tsc --noEmit             # Typecheck (muss sauber sein)
npx expo export --platform android --output-dir .expo-check   # Bundle-Smoke-Test

🗺️ Roadmap

  • Echtes Backend (z. B. Supabase / Firebase) für Auth & geteilte Daten
  • Push-Notifications, wenn ein Aufpass-Auftrag eintrifft
  • Standort-Teilen & „Ich bin sicher zuhause"-Button
  • Foto-Avatare statt Emojis

📄 Lizenz

MIT © 2026 benapp


Gebaut mit 💜 und Expo · Passt aufeinander auf! 🛡️

Releases

No releases published

Packages

 
 
 

Contributors