Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,231 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FitFo

Monorepo for the FitFo product: mobile (Expo), web (Next.js), and API (FastAPI).

Package manager: pnpm (see root packageManager). You can still run app scripts with npm from inside each app directory — that matches the day-to-day flow below.

First-time setup

From the repo root:

pnpm install

Copy env files if you do not already have them:

cp apps/api/.env.example apps/api/.env
cp apps/mobile/.env.example apps/mobile/.env
cp apps/web/.env.example apps/web/.env.local

Point clients at an API:

App Env var Local API Production
Mobile EXPO_PUBLIC_API_URL http://localhost:8000 https://api.fitfo.app
Web NEXT_PUBLIC_API_URL http://localhost:8000 https://api.fitfo.app

On a physical phone, do not use localhost — use your machine’s LAN IP (e.g. http://192.168.1.25:8000).


Launch apps

Run each app in its own terminal. Typical daily commands:

1. Mobile (Expo)

cd apps/mobile
npm run start

Then press i for iOS simulator, a for Android, or scan the QR code on a device.

Other options:

# From apps/mobile
npm run ios          # native iOS build + Metro (preferred for full native features)
npm run android      # native Android build + Metro
npx expo run:ios     # alternate iOS native run

# From repo root
pnpm mobile:start
pnpm mobile:ios
pnpm mobile:android

2. Web (Next.js)

Dev server (local coaching dashboard / marketing / admin):

cd apps/web
npm run dev

Open http://localhost:3000.

Production build check (what you often run before shipping):

cd apps/web
npm run build

From repo root:

pnpm web:dev

3. API (FastAPI)

Only needed when you want a local backend. Many local mobile/web sessions point at https://api.fitfo.app instead.

cd apps/api
python3.12 -m venv .venv   # once
source .venv/bin/activate  # or use your conda base if uvicorn is already installed
pip install -r requirements.txt
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

Optional Celery worker (ingest / library / creator pipeline with Redis):

cd apps/api
source .venv/bin/activate
celery -A app.celery_app:celery_app worker --loglevel=info -Q imports

More detail: apps/api/README.md.


Quick reference

App Directory Dev command Default URL
Mobile apps/mobile npm run start Expo / Metro (8081)
Web apps/web npm run dev http://localhost:3000
API apps/api uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 http://localhost:8000

Root shortcuts:

pnpm mobile:start   # Expo
pnpm web:dev        # Next.js
pnpm ios            # mobile iOS runner
pnpm android        # mobile Android runner

Other packages

Path Notes
packages/* Shared workspace libs (e.g. coach-profile) — built via workspace install
apps/nutrition/* Nutrition / planner services — see their own READMEs

Docs

Releases

Packages

Contributors

Languages