Millian Lamiaux 04b83fc419 refresh design system: colors, typography, native components
Update color palette, dark theme tokens, typography scale, and border
radius constants. Refactor native UI primitives (NativeButton, NativeList,
NativeSection, NativeLabeledRow) for the new design language. Simplify
OnboardingStep. Remove legacy WorkoutCard and CollectionCard components.
2026-04-21 21:50:31 +02:00
2026-02-17 17:34:06 +01:00
2026-02-17 17:34:06 +01:00

TabataFit

Apple Fitness+ for Tabata — The Premium HIIT Experience

Expo TypeScript License Tests Coverage

Vision

TabataFit est l'Apple Fitness+ du Tabata. Une expérience premium, video-first, guidée par des coachs, qui transforme 4 minutes d'exercice en une expérience de fitness immersive.

Features

  • 🎬 Video-led workouts — HD video demonstrations by professional trainers
  • ⏱️ Smart timer — Tabata timer with work/rest phases
  • 🔥 Burn Bar — Compare your calories with the community
  • 📊 Activity tracking — Streaks, stats, and trends
  • 🎵 Music sync — Curated playlists for each workout
  • Apple Watch — Heart rate and activity rings

Tech Stack

  • Framework: Expo SDK 52
  • Navigation: Expo Router v3
  • State: Zustand
  • Video: expo-av (HLS streaming)
  • Payments: RevenueCat
  • Analytics: PostHog

Getting Started

# Install dependencies
npm install

# Start development server
npx expo start

# Run on device (scan QR with Expo Go)

Documentation

Document Description
PRD v2.0 Product Requirements
PDD v2.0 Product Design
BDSD v2.0 Brand Design

Project Structure

src/
  features/
    home/        # Home tab
    workouts/    # Workouts browser
    player/      # Video player + timer
    activity/    # Stats & history
    browse/      # Filters & trainers
    profile/     # User settings
  shared/
    components/  # Reusable UI
    hooks/       # Custom hooks
    constants/   # Design tokens
app/             # Expo Router routes

Testing

# Unit tests with coverage
npm run test:coverage

# Component render tests
npm run test:render

# All unit + render tests
npm test && npm run test:render

# Maestro E2E (requires Expo dev server + simulator)
npm run test:maestro

# Admin-web tests
cd admin-web && npm test           # Unit tests
cd admin-web && npm run test:e2e   # Playwright E2E

Test Coverage

Layer Target Tests
Stores 80%+ playerStore, activityStore, userStore, programStore
Services 80%+ analytics, music, purchases, sync
Hooks 70%+ useTimer, useHaptics, useAudio, usePurchases, useMusicPlayer, useNotifications, useSupabaseData
Components 50%+ StyledText, VideoPlayer, WorkoutCard, GlassCard, CollectionCard, modals, Skeleton
Data 80%+ achievements, collections, programs, trainers, workouts

E2E Tests

  • Mobile (Maestro): Onboarding, tab navigation, program browse, workout player, activity, profile/settings
  • Admin Web (Playwright): Auth, navigation, workouts CRUD, trainers, collections

License

Proprietary — All rights reserved.


Built with ❤️ for HIIT lovers

Description
No description provided
Readme 60 MiB
Languages
TypeScript 47.6%
Swift 42.9%
HTML 4.3%
PLpgSQL 2.2%
JavaScript 2%
Other 0.9%