Skip to content

zepvalue/zippy-fit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

41 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ‹๏ธ ZippyFit

The fitness game you play with a partner.

Work out together and keep your streak alive โ€” miss a day and you both feel it.


Expo React Native TypeScript Convex FastAPI


โœจ What is ZippyFit?

ZippyFit turns accountability into a co-op game. You and a partner form a Duo and take on a daily challenge together. Stay consistent to grow your streak โ€” slack off and your team loses hearts. It's Duolingo's streak psychology, pointed at the gym.

Journey map with Zippy the mascot ย ย ย  Nudge your partner ย ย ย  The Grimoire โ€” unlocked fitness facts

๐ŸŽฎ Features

  • ๐Ÿ‘ฏ Duo teams โ€” pair up with a 4-character invite code
  • ๐Ÿ”ฅ Streaks & hearts โ€” shared accountability; if one partner misses, you both lose a heart
  • ๐Ÿ—บ๏ธ Journey map โ€” a visual day-by-day path of your team's progress
  • ๐Ÿ“œ Grimoire โ€” unlock a "Scroll Fragment" of fitness wisdom on every workout
  • ๐Ÿ‘‹ Nudge & Spot โ€” poke your partner or request a spot when you can't make it
  • ๐Ÿ” Auth built in โ€” email/password via Convex Auth, with real-time sync

๐Ÿงฑ Tech Stack

Layer Tech
Mobile React Native ยท Expo Router ยท Reanimated ยท Moti
Realtime DB Convex (live queries + auth)
Backend API FastAPI ยท Uvicorn (Python)
Local tunnel ngrok โ†’ port 8000

๐Ÿš€ Getting Started

๐Ÿ–ฅ๏ธ Runs fully local right now โ€” Expo Go + a local FastAPI backend (tunnelled via ngrok) + a Convex dev deployment. Next up: native builds and tester distribution via Fastlane and Firebase App Distribution.

# 1. Install dependencies (mobile + backend)
make install

# 2. Run the full stack (ngrok + backend + Convex + Expo)
make dev

Then scan the QR code with Expo Go, or press a / i to launch an emulator.

Essential commands

Command What it does
make dev Run the full stack (tunnel + backend + mobile)
make test Run mobile tests
make kill Kill dev processes & free ports
make help See every command (grouped menu)

Run make help for the full list โ€” admin/utility commands (screenshots, password reset, etc.) live there.


๐Ÿ“ Project Structure

zippy-fit/
โ”œโ”€โ”€ mobile/              # React Native / Expo app
โ”‚   โ”œโ”€โ”€ app/             # Expo Router routes (index, _layout)
โ”‚   โ”œโ”€โ”€ screens/         # Dashboard, Auth, Tutorial
โ”‚   โ”œโ”€โ”€ components/      # UI: ProfileModal, DuoButton, Containerโ€ฆ
โ”‚   โ””โ”€โ”€ convex/          # Schema + serverless functions (teams, workouts, dashboard, adminโ€ฆ)
โ”œโ”€โ”€ backend/             # FastAPI service
โ”œโ”€โ”€ scripts/utils/       # Dev tooling โ€” screenshot, reset_password, check_user, assign_team
โ”œโ”€โ”€ docs/screenshots/    # Images used in this README
โ””โ”€โ”€ Makefile             # Categorized command centre (run `make help`)

๐Ÿ—บ๏ธ Roadmap

  • Fastlane โ€” automated build & release pipeline
  • Firebase App Distribution โ€” ship test builds to testers
  • Push notifications โ€” nudges & streak-at-risk reminders
  • Forgot-password flow โ€” in-app reset (Convex Auth email provider)
  • Grimoire content โ€” replace placeholder facts with a curated library
  • Refresher polish โ€” show only educational slides when replaying from settings
  • Workout types โ€” log cardio / strength / mobility separately
  • Partner profiles & avatars
  • Test coverage โ€” expand TDD suite across screens and Convex functions
  • CI โ€” lint + typecheck + tests on every PR

๐ŸŽจ Credits

Zippy's animated mascot GIFs were generated with ComfyUI.


Built with โค๏ธ and a refusal to skip leg day.

About

A co-op fitness game: pair up, keep a shared streak, and don't be the one who breaks it. ๐Ÿ‹๏ธ

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors