Manuel Hohlwegler

Competitions App

Eine React Native / Expo App zur Verwaltung und Präsentation von Sportwettkämpfen. Setzt auf Firebase (Auth, Firestore, Storage) und moderne Patterns mit Expo Router, Zustand und TanStack Query.

Competitions App Icon
Competitions
React Native · Expo · Firebase

Funktionen

Wettkämpfe (Events)

  • Erstellen, Bearbeiten, Anzeigen von Wettkämpfen
  • Medien-Upload: Medaillen, Startnummern, Fotos (Firebase Storage)
  • Event-Detailseite inkl. Splits (Tri/Dua), Höhenmeter, Medien-Collage
  • Personal Bests (PBs): automatische Erkennung und gruppierte Anzeige
  • Share-Card Generator (SVG/PNG) für Social Media

Profil

  • Avatar, Name, Handle, Verein, Bio, Links (Strava/Garmin)
  • Statistiken: Events/Jahr, nach Sportart, Bestzeiten, Trends
  • Sichtbarkeit: öffentlich/privat toggelbar
  • Daten-Export: CSV/JSON aus der Profilansicht

Athleten-Profile

  • Fremdprofil-Ansicht mit PBs, Statistiken, Events
  • Follow-Status (Platzhalter) – Backend-Logik in Vorbereitung

Technologie & Architektur

Frontend

  • React Native
  • Expo Router
  • TypeScript
  • Zustand
  • TanStack Query v5
  • react-native-safe-area-context
  • react-native-svg
  • expo-image-picker

Backend (Firebase)

  • Firebase Auth (Persistenz via AsyncStorage)
  • Cloud Firestore als Datenbank
  • Firebase Storage für Medien (Avatare, Fotos, Medaillen, Startnummern)
  • Sicherheitsregeln in firestore.rules und storage.rules

Datenschutz & Sicherheit

  • Firestore: Zugriff nur auf eigene Dokumente; Profil-Sichtbarkeit wird berücksichtigt
  • Storage: Sichere Authentifizierung für Medien-Uploads
  • Export: CSV/JSON Export nur eigener Daten aus der Profilansicht

Siehe auch die dedizierte Datenschutzerklärung für die App unter /competitions/datenschutz.

UI/UX Highlights

  • Dark/Light Mode
  • Moderne Statistiken, Badges, Charts
  • Galerie-Vorschau in Profilen (Fotos/Bibs)
  • Bestzeiten-Gruppierung nach Sport und Disziplin (inkl. Ultra)

Screenshots

Bestzeiten
Bestzeiten
Profil
Profil
Statistiken
Statistiken
Absolvierte Wettkämpfe
Absolvierte Wettkämpfe
Nächste Wettkämpfe
Nächste Wettkämpfe
Event Details
Event Details
Freunde
Freunde