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 targets
  • infrastructure/: AWS/CDK/IaC
  • docs/: documentation site (published to foodfightv2.pages.dev)
  • lucra-plugin/: local plugin used by the client (built during client build)

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/)

Partner dashboard

Troubleshooting

Testing

OpenAPI specs live under API in the sidebar (docs/api/).

Run backend services

From backend/:

make help

Common targets:

  • make user-service
  • make restaurant-service
  • make partner-dashboard-service
  • make down

Docs site (this site)

Run locally:

cd docs
make run