Logo Lanfrica

mundhirhamid300/swahili_

Domain:

natural language processingeducation

Record type:

software
Creator:
mun
Host:
# Swahili Learning for Foreigners A modern **Learning Management System (LMS)** built with Laravel to help non-Swahili speakers learn **Kiswahili** from scratch. Includes courses, lessons, flashcards, quizzes, progress tracking, certificates, a Swahili chatbot, and an **AI Translator** (OpenAI + ElevenLabs). ## Features - **Role-based access**: Admin, Teacher, Student - **Course management**: Beginner, intermediate, advanced levels - **Lessons** with rich content and optional audio - **Flashcards** with study mode and text-to-speech - **Quizzes** with auto-grading, pass marks, timers, and retakes - **Progress tracking** and automatic certificate issuance at 100% completion - **PDF certificates** with public verification (`/verify/{code}`) - **Quiz quality controls**: pass mark, timed attempts, retakes, detailed reports - **Teacher analytics**: averages, struggling lessons, drop-off hotspots - **Student insights**: streak, weekly goal, continue learning - **In-app notifications** and admin audit logging - **Search/filters** for courses, users, enrollments, certificates - **AI Translator**: English ↔ Swahili via OpenAI; Listen via ElevenLabs - **Swahili Chatbot**: Keyword-based assistance with chat history - **REST API** (Laravel Sanctum) for future mobile app integration - **MySQL** by default (SQLite still supported for quick demos) ## Tech Stack - Laravel 12 (PHP 8.2+) - MySQL / SQLite - Bootstrap 5 + Tabler Icons - Laravel Sanctum (API auth) - OpenAI (translation / language tools) - ElevenLabs (text-to-speech) ## Requirements - PHP 8.2+ - Composer - MySQL (or SQLite for quick local setup) ## Installation ```bash # 1. Install dependencies composer install # 2. Environment setup cp .env.example .env php artisan key:generate # 3. Configure database in .env (MySQL default) DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=swahili_lms DB_USERNAME=root DB_PASSWORD= # Create the database (XAMPP / MySQL): # mysql -u root -e "CREATE DATABASE IF NOT …