Start here
This page is the quickest path to running FoodFight locally and understanding where things live in the repo.
Repo map
client/: React + Ionic + Capacitor app (web + iOS + Android)backend/: Python services + Docker Compose + Makefile targetsinfrastructure/: AWS/CDK/IaCdocs/: documentation site (published tofoodfightv2.pages.dev)lucra-plugin/: local plugin used by the client (built duringclientbuild)
Run the web app (client)
From repo root:
cd client
npm install
npm start
App runs at (http://localhost:3000).
If build fails due to lucra-plugin, try:
cd ../lucra-plugin
npm install
npm run build
Run iOS / Android (Capacitor)
Prereqs:
- Xcode (iOS)
- Android Studio (Android)
From client/:
npx cap sync
Then open the native projects:
npx cap open ios
npx cap open android
Documentation (this site)
Quick links to guides written for this repo (paths are relative to docs/).
Mobile
Frontend (client/)
- Frontend (section)
- Client app overview & feature map
- Routing & auth
- API calls
- Deep links
- Payments (Stripe / wallets)
- Push notifications
- Sentry
- Customer.io
- WebSockets
Partner dashboard
- Partner Dashboard —
/partner/*UI inclient/src/components/partner/ - Partner Dashboard API (OpenAPI)
Troubleshooting
Testing
OpenAPI specs live under API in the sidebar (docs/api/).
Run backend services
From backend/:
make help
Common targets:
make user-servicemake restaurant-servicemake partner-dashboard-servicemake down
Docs site (this site)
Run locally:
cd docs
make run