Last updated: 2026-05-30
| Tool | Version | Install |
|---|---|---|
| Node.js | 20 LTS | nodejs.org |
| npm | 10+ | bundled with Node |
| Docker Desktop | 4.x | docker.com |
| Expo CLI | latest | npm install -g expo |
| EAS CLI | latest | npm install -g eas-cli |
| Python | 3.11+ | python.org |
mkdir rivheal && cd rivheal
git clone https://github.com/Iterative-Lead-Systems/rivheal-api
git clone https://github.com/Iterative-Lead-Systems/rivheal-frontend
git clone https://github.com/Iterative-Lead-Systems/rivheal-mobile-app
git clone https://github.com/Iterative-Lead-Systems/rivheal-infra
# Optional:
git clone https://github.com/Iterative-Lead-Systems/rivheal-ml-service
git clone https://github.com/Iterative-Lead-Systems/rasa-bot
cd rivheal-infra
cp .env.vpn.example .env # edit: fill in DB password, JWT secret etc.
docker compose up -d # starts: postgres, keycloak, redis, ml-service, rasa
Wait for Keycloak to be healthy (~2 min):
docker compose logs -f keycloak | grep "Running the server"
cd rivheal-api
cp .env.example .env # edit env vars (see environment-variables.md)
npm install
npm run typeorm migration:run # apply all DB migrations
npm run start:dev # hot reload on :8000
Swagger: http://localhost:8000/api/docs
Key .env values for local dev:
NODE_ENV=development
DB_HOST=localhost
DB_PORT=5432
DB_DATABASE=rivheal
DB_USERNAME=rivheal
DB_PASSWORD=rivheal_dev
JWT_SECRET=dev-jwt-secret-change-me
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=redis_dev
ENABLE_AI_FEATURES=true # optional — enable AI endpoints
ANTHROPIC_API_KEY=sk-ant-... # optional — for Claude LLM triage
cd rivheal-frontend
cp .env.example .env # set VITE_API_URL=http://localhost:8000
npm install
npm run dev # Vite dev server on :5173
cd rivheal-mobile-app
cp .env.example .env # set API_URL, Keycloak config
npm install
npx expo start # Metro bundler
# Press 'a' for Android emulator, 'i' for iOS simulator, scan QR for device
Note: You need an Expo account and
eas loginto build native dev clients. For basic JS changes, Metro is sufficient.
cd rivheal-ml-service
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload --port 8001
FastAPI docs: http://localhost:8001/docs
Requires the Rasa CLI installed:
pip install rasa==3.6.21
cd rasa-bot
rasa train # trains NLU model (~5 min)
rasa run --enable-api --cors "*" &
cd actions && rasa run actions &
curl http://localhost:8000/api/health # → { status: "ok" }
curl http://localhost:8001/health # → ML service health
curl http://localhost:5005/ # → Rasa version
open http://localhost:8080 # Keycloak admin console