KasaHub is a backend API built with ASP.NET Core (C#) for a multilingual learning app that helps children learn local Ghanaian languages (Twi, Ga, Ewe, Dagbani).
# KasaHubBackend
Clone the repository:
git clone
github.com
Open the project in Visual Studio or VS Code.
Configure your database connection in appsettings.json:
{
"ConnectionStrings": {
"DefaultConnection": "Server=YOUR_SERVER;Database=KasaHubDb;Trusted_Connection=True;"
}
}
Apply migrations to create the database:
dotnet ef database update
Run the project:
dotnet run
Test the API endpoints using Postman, Thunder Client, or your frontend app.
๐ API Endpoints Overview
User Management
POST /api/users โ Create user profile
GET /api/progress/summary/{userName} โ Get user progress
Lesson Management
GET /api/lessons โ Get all lessons
GET /api/lessons/by-language/{languageCode} โ Get lessons by language
POST /api/lessons โ Add new lesson
PUT /api/lessons/{id} โ Update lesson
DELETE /api/lessons/{id} โ Delete lesson
Media Upload
POST /api/media/upload/audio โ Upload lesson audio
Progress Tracking
POST /api/progress/complete-lesson โ Mark lesson as completed & record quiz score
GET /api/progress/summary/{userName} โ User progress summary
Admin (Analytics)
GET /api/admin/user-stats โ User progress overview
GET /api/admin/badge-stats โ Badge statistics
GET /api/admin/lesson-stats โ Lesson completion stats
๐ Project Structure
KasaHubBackend/
โโโ Controllers/ # API endpoints
โโโ Models/ # Data models (Lesson, UserProgress, Language, Badge)
โโโ Data/ # Database context & migrations
โโโ wwwroot/uploads/ # Media files (audio, images, videos)
โโโ Program.cs # Entry point
โโโ appsettings.json # Configuration
๐ฎ Future Plans
Role-based authentication (Admin vs Learner)
Admin dashboard to view detailed analytics
Cloud media storage (S3) for scalable file handling
Multi-language quiz hints & interactive learning features
โก Technologies Used
ASP.NET Core 7
Entity Framework Core
SQL Server / LocalDB
C#