The all-in-one fitness backend for Nigerian gym lovevrs, for both diet and training.
# Naija Gym Buddy Backend
Backend/API-only MVP for a Nigerian-aware AI fitness assistant.
## Setup
1. Create `.env` from `.env.example`.
2. Fill in Supabase and Hugging Face values.
3. Install dependencies.
```bash
poetry install --with dev
```
4. Run the Supabase schema in `src/db/schemas.sql` from the Supabase SQL Editor.
5. Start the API.
```bash
poetry run uvicorn src.main:app --reload
```
Swagger docs will be available at:
```text
127.0.0.1
```
## Environment
```env
APP_ENV=development
SUPABASE_URL=
SUPABASE_SERVICE_ROLE_KEY=
SUPABASE_ANON_KEY=
HF_API_TOKEN=
HF_MODEL_ID=Qwen/Qwen2.5-7B-Instruct
MEMORY_WINDOW_DAYS=7
```
Do not commit `.env`.
## Public Endpoints
### `GET /health`
Technical health check.
### `POST /agent/chat`
Main product endpoint.
```json
{
"customer_id": null,
"message": "I ate 2 wraps of eba, 1 medium bowl of egusi, and 2 pieces of beef."
}
```
Incomplete portions are blocked before calorie estimation:
```json
{
"customer_id": null,
"message": "I ate eba and egusi."
}
```
The assistant should ask for portions and protein details, and `tool_used` should be `null`.