Logo Lanfrica

OndoaE/ndaminkoaba-platform

Domaine:

natural language processing

Type de record:

softwareproject
Créateur:
Ond
Hôte:
NdaMinkoaba — AI-assisted platform for learning, preserving, and transmitting Cameroonian indigenous languages (Ewondo and more), with courses, quizzes, vocabulary, and Bible reading. NestJS backend + Flutter app. # NdaMinkoaba — Ewondo Learning Smart Platform A mobile-first language-learning app for **Ewondo**, a Bantu language spoken in Cameroon. Learners progress through **Beginner → Intermediate → Advanced** courses, take quizzes, and earn a generated PDF/QR certificate on completion. Two user-facing roles: **Learner** and **Administrator**. - **Frontend:** Flutter (`ndaminkoaba_app/`) — go_router, Dio - **Backend:** NestJS + Prisma + PostgreSQL (`backend-api/`) — JWT auth, role-based access control, server-side quiz grading, PDF/QR certificate generation, an AI tutor ("Nnanga") backed by OpenRouter ## Architecture ``` ndaminkoaba_app/ (Flutter client) | | HTTP + JWT bearer token v backend-api/ (NestJS REST API, prefix /api) | v PostgreSQL (via Prisma ORM) ``` The API wraps every response as `{ success, data, timestamp }` (or `{ success: false, error: { message, error, statusCode } }` on failure). Auth uses short-lived JWTs (7 days by default); the client attaches `Authorization: Bearer ` automatically once logged in. ## Getting it running locally ### 1. Backend ```bash cd backend-api npm install # runs `prisma generate` automatically via postinstall ``` Make sure PostgreSQL is running locally and matches `backend-api/.env`'s `DATABASE_URL` (defaults to `postgresql://postgres:1234@localhost:5432/ewondo_learning` — change the password/db name there if yours differs, then create the database: `createdb ewondo_learning` or via pgAdmin). ```bash npx prisma migrate deploy # applies the existing migrations in prisma/migrations npx prisma db seed # creates demo accounts + one PUBLISHED course per level npm run start:dev # localhost, Swagger docs at /api/docs ``` Demo accounts created by the seed script (all use password `Passw0rd!`): | Role | Email | Notes | |---------|---------------------------|-------| | Admin | admin@ndaminkoaba.com | Full access to the Administrator app (Da …

Languages