Logo Lanfrica

elburhan/Garkuwa

Domain:

natural language processingpeace and security

Record type:

software
Creator:
elb
Host:
Aimed at keeping Nigeria safer # Garkuwa Platform Production-minded foundation for the Garkuwa Foundation's Hausa-first bilingual platform. Hausa is the canonical public language at `/`; English is secondary at `/en`. The future `/admin` area lives in the same Next.js application. The NestJS API is a modular monolith. ## Architecture - `apps/web`: Next.js App Router application for public and future internal routes. - `apps/api`: NestJS modular-monolith API with configured Prisma database connectivity. - `packages/i18n`: shared Hausa-first locale constants and independently authored messages. - `packages/config`: strict TypeScript and shared ESLint configuration. - `infrastructure`: local PostGIS-capable PostgreSQL 17 server through Docker Compose. The database models staff identity plus the first anonymous incident-submission domain. A Hausa-first public reporting form uses that API, and authenticated staff have a narrowly controlled incident workflow. Business functionality will continue to be added incrementally. ## Prerequisites - Node.js 24 LTS - Corepack with pnpm 10 - Docker Desktop or Docker Engine with Compose ## Repository structure ```text apps/ api/ NestJS API and Prisma schema web/ Next.js application packages/ config/ Shared tool configuration i18n/ Locale constants and message resources infrastructure/ Local Docker Compose configuration .github/workflows/ CI verification ``` ## Local setup 1. Copy the example environment file: ```powershell Copy-Item .env.example .env ``` On macOS or Linux use `cp .env.example .env`. 2. Review the non-secret local values in the repository-root `.env`, then start the PostGIS-capable PostgreSQL server: ```sh corepack enable pnpm docker:up ``` If Docker is unavailable, install Docker Desktop or Docker Engine with Compose support and ensure the `docker` command is available on your PATH. The wrapper will report that requirement clearly if the binary is missing. 3. In …

Languages