Logo Lanfrica

Lojohnes/DzidzAi_system

Domaine:

natural language processingeducation

Type de record:

softwareproject
Créateur:
Loj
Hôte:
Indeginous AI system for primary schools in Zimbabwe # DzidzaAI - Indigenous Language Learning Platform An AI-powered educational platform supporting indigenous language learning in Zimbabwe (Shona, Ndebele, and Tonga) for primary school students (ECD to Grade 7). ## Features - 🤖 Multilingual AI content generation (Shona, Ndebele, Tonga) - 📚 Curriculum-aligned explanations, examples, and exercises - 👨‍👩‍👧‍👦 Parent and child user accounts - 👨‍🏫 Teacher/admin role management - ✅ AI response validation + structured output - 📚 Retrieval-Augmented Generation (RAG) pipeline (optional) + enhanced mock fallback for demos - 📱 Offline support (PWA) with caching + request queue + auto-sync on reconnect - 📊 Learning analytics dashboard (sessions, progress over time, recommendations) - 🔊 Voice & accessibility layer: - Text-to-speech (Listen / Pause / Resume / Stop) - Speech-to-text (mic button to fill topic input) ## Tech Stack - **Frontend**: Next.js (React) with TypeScript - **Backend**: Node.js (Express) with TypeScript - **Database**: SQLite (via Prisma) by default for local dev - **AI Integration**: OpenAI API (optional) + mock fallback - **Authentication**: JWT-based auth - **Styling**: Tailwind CSS - **Charts**: Recharts ## Architecture Modular monolith with clear separation of concerns: - Auth module - User module - AI module (AI Orchestration Service) - Content module - Analytics module - Offline + Voice layer implemented on the frontend ## Getting Started ### Prerequisites - Node.js 18+ - OpenAI API key (optional) ### Installation 1. Clone the repository 2. Install dependencies: ```bash # Frontend cd frontend && npm install # Backend cd backend && npm install ``` 3. Set up environment variables: - Backend: copy `backend/.env.example` to `backend/.env` and adjust values - Frontend: set `NEXT_PUBLIC_API_URL` if your backend is not on `localhost` 4. Run database migrations (backend): ```bash cd backend npx prisma migrate dev ``` 5. Start the dev servers: ```bash # backend cd backend npm run dev …