Logo Lanfrica

Stjr2090/hinga-ai

Domain:

agriculturenatural language processing

Record type:

software
Creator:
Stj
Host:
Local Advisory AI app for East African Farmers # HINGA AI Assistant HINGA AI Assistant provides localized agricultural guidance for smallholder farmers in East Africa. ## Live application - Application: hingaai.tech - Canonical redirect: hingaai.tech - Backend health: hinga-backend.wittyplant-ea… `www.hingaai.tech` redirects permanently to `hingaai.tech`. Both hostnames use Azure-managed HTTPS certificates. ## Architecture HINGA is an npm workspace with two independently deployed services: ```text Browser -> React and Vite frontend on Azure Container Apps -> Fastify API on Azure Container Apps -> Groq agricultural advisory -> Sunbird English-Luganda translation -> Open-Meteo weather and forecast data ``` The frontend is served by an unprivileged Nginx container. Provider credentials remain in the backend and are stored as Azure Container App secrets. ## Run locally Prerequisite: Node.js 22. 1. Install dependencies with `npm ci`. 2. Copy `frontend/.env.example` to `frontend/.env`. 3. Copy `backend/.env.example` to `backend/.env`. 4. Start the frontend with `npm run dev:frontend`. 5. Start the backend with `npm run dev:backend`. ## Validate locally ```powershell npm.cmd run lint --workspace frontend npm.cmd test --workspace frontend -- --run npm.cmd run build --workspace frontend npm.cmd run lint --workspace backend npm.cmd test --workspace backend -- --run npm.cmd run build --workspace backend ``` `npm.cmd` avoids the Windows PowerShell script-execution restriction that can block `npm.ps1`. ## Backend local runtime The approved Windows development launch is: ```powershell cd backend npm.cmd run build node dist/index.js ``` Run this as the signed-in development user, not as Administrator. The working directory must be `backend/` so the process loads provider credentials from `backend/.env`. Keep that file local and do not copy its values into commands, logs, or tracked configuration. The default local environment binds the …

Languages