Logo Lanfrica

Blueskale/learn-urhobo

Domaine:

natural language processing

Type de record:

software
Créateur:
Blu
Hôte:
# Learn Urhobo A mobile language-learning app for the Urhobo language (spoken in Delta State, Nigeria), built with React Native / Expo on the frontend and Django REST Framework on the backend. The app follows a Duolingo-style flow: register → onboarding → lessons → quizzes → XP & streaks → progress tracking. --- ## Repository layout ``` learn-urhobo/ ├── backend/ Django REST API └── mobile/ Expo (React Native) mobile app ``` Each sub-directory has its own README with setup details: - `backend/README.md` - `mobile/README.md` --- ## Tech stack | Layer | Technology | |----------|-------------------------------------------------| | Mobile | React Native, Expo SDK, Expo Router, Zustand | | Backend | Django 4, Django REST Framework, Simple JWT | | Database | PostgreSQL (dev: SQLite acceptable) | | Auth | JWT access + refresh tokens, token blacklisting | --- ## Data model (high level) ``` User ──── UserProfile (XP, streak, onboarding answers) │ Course ── Unit ── Lesson ──── ContentBlock │ └──── LessonVocabulary ── VocabularyItem │ └── Question ── Option └─── MatchItem LessonAttempt (one per quiz start; holds score + XP earned) LessonCompletion (one per user per lesson; idempotent) ``` --- ## API base URL All endpoints live under `/api/v1/`. The mobile app reads the base URL from `EXPO_PUBLIC_API_BASE_URL` in `mobile/.env`. --- ## Current content (seeded) - **1 course** — Urhobo for Beginners - **2 units** — Greetings · Common Words - **4 lessons** — Basic Greetings · Thank You & Goodbye · Family Words · Everyday Words - **9 quiz questions** covering all 4 types: multiple choice, translation, fill-in-the-blank, matching Add more via the Django admin at `localhost`. --- ## Quick start (both services) ```bash # 1. Backend cd backend python -m venv venv && source venv/bin/activate pip install -r requirements.txt python manage.py migrate p …

Languages