This project has:
- Frontend: Expo (React Native / Web)
- Backend: Node + Express (
server/index.ts) - AI Models: Python scripts in
ai-models/scripts
- Node.js 20+
- Python 3.10+
- npm
- A MongoDB connection string (
DATABASE_URL)
From project root:
npm installFrom project root:
python -m venv .venv-models
.\.venv-models\Scripts\Activate.ps1
pip install -r ai-models/requirements.txtQuick AI check:
.\.venv-models\Scripts\python -c "from ultralytics import YOLO; YOLO('ai-models/weights/yolov8n.pt'); print('AI model ready')"From project root:
$env:DATABASE_URL="<your-mongodb-connection-string>"
$env:PORT="5000"
$env:MODEL_PYTHON_PATH=(Resolve-Path ".venv-models\Scripts\python.exe").Path
npx tsx server/index.tsExpected log:
Connected to MongoDB successfullyexpress server serving on port 5000
From project root:
$env:EXPO_PUBLIC_API_URL="http://localhost:5000"
npx expo start --web --port 8081Open in browser:
http://localhost:8081
$env:EXPO_PUBLIC_API_URL="http://localhost:5000"
npx expo startThen press:
afor Androidifor iOS (macOS only)
- AI routes are served by backend:
POST /api/ai/analyzePOST /api/ai/verify-cleanup
- The Python process is called by backend automatically using
MODEL_PYTHON_PATH. - If web shows stale errors, restart with cache clear:
npx expo start --web --clearTerminal 1: Frontend Web npm run start
Terminal 2: Backend npx tsx --env-file=.env server/index.ts