Logo Lanfrica

eser6/Sango

Domain:

natural language processing

Record type:

software
Creator:
ese
Host:
Pidgin-english AI assistant # Sango A conversational AI web app that speaks **Cameroonian Pidgin** (plus English and French) naturally. Pick a language and just talk — Sango replies warmly, like someone from home. This repo is a two-app monorepo: ``` Sango/ ├── frontend/ # Next.js 15 (App Router, TypeScript, Tailwind CSS) └── backend/ # FastAPI (Python) — holds the prompt + Gemini call ``` > **Status:** working. Full chat UI (Pidgin/English/French) talking to Gemini, > with conversation history persisted in SQLite so a refresh restores the session. ## Prerequisites - Node.js 18.18+ (20+ recommended) and npm - Python 3.10+ ## Backend — FastAPI (`/backend`) ```bash cd backend # Create and activate a virtual environment python -m venv .venv # Windows (PowerShell): .venv\Scripts\Activate.ps1 # macOS / Linux: # source .venv/bin/activate # Install dependencies pip install -r requirements.txt # Configure environment cp .env.example .env # Windows: copy .env.example .env # then edit .env and set GEMINI_API_KEY when ready # Run (localhost) uvicorn main:app --reload --port 8000 ``` Quick check: `localhost` returns `{"status":"ok"}`. ## Frontend — Next.js (`/frontend`) ```bash cd frontend # Install dependencies npm install # Configure environment cp .env.local.example .env.local # Windows: copy .env.local.example .env.local # Run (localhost) npm run dev ``` Open `localhost`, pick a language, and start chatting with Sango. ## Environment variables | App | File | Variable | Purpose | | -------- | ------------- | ------------------- | ---------------------------------------- | | backend | `.env` | `GEMINI_API_KEY` | Google Gemini API key (server-side only) | | backend | `.env` | `GEMINI_MODEL` | Gemini model id (default `gemini-2.5-flash-lite`) | | backend | `.env` | `GEMINI_TEMPERATURE` / `GEMINI_MAX_OUTPUT_TOKENS` | Reply warmth …

Languages