Skip to content

Mmabiaa/Csharp-Academy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C# Academy

Status Architecture License

C# Academy is an intelligent, gamified learning platform designed to bridge the gap between theory and practice for aspiring C# developers. Featuring a deep integration with Google Gemini for AI tutoring and a sandboxed Roslyn execution environment, it provides a complete ecosystem for students, teachers, and administrators.


🖼️ Visual Overview

Home Dashboard Course Catalog
Home Courses
Learning Interface AI Assistant
Learn AI Assistant
Code Playground Video Tutorials
Playground Video
Practice Exercises Course Enrollment
Practices Start Course

🚀 Key Features

  • Interactive C# Playground: Run real C#/.NET code in the browser with Roslyn-powered sandboxing and security.
  • AI Learning Assistant: Context-aware C# tutor powered by Google Gemini, featuring adaptive explanations and a rule-based offline fallback.
  • Structured Curriculum: Comprehensive courses, from absolute beginner to advanced design patterns.
  • 3D High-Gloss UI: A premium, bouncy Duolingo-inspired interface built for accessibility and high engagement.
  • Gamification Engine: Earn XP, maintain daily streaks (with Max Streak tracking), and unlock achievement badges.
  • Teacher & Admin Portals: Manage classrooms, assign tasks, grade submissions, and view deep learning analytics.
  • Sound & Notifications: Immersive auditory feedback system for successes, failures, and gamification events.
  • Voice Narration: Narrative audio summaries for lessons using the browser's native Speech API.
  • Certifications: Automated PDF certificate generation via QuestPDF with digital verification codes.

📂 Documentation

A comprehensive documentation suite is available in the /docs folder, organized by domain:

  1. Project Overview - Project Brief, Roadmap, and the accurate Changelog.
  2. Architecture - Clean Architecture diagrams, Database Schema, and documented Design Patterns.
  3. Backend - Technical dives into Roslyn Sandboxing, Gemini AI Engine, and Identity/Auth.
  4. Frontend - Design System tokens (3D styles), State Management, and Component library.
  5. Features - Detailed guides on the Course hierarchy, Quiz engine, and Classroom workflows.
  6. SE Principles - The definitive report on SOLID, DRY, and Security for semester submission.
  7. Developer Guide - Step-by-step Setup, Testing strategy, and Environment variables.
  8. Deployment - Guide on building for production and Docker containerization.

🛠️ Technology Stack

Feature Technology
Frontend React 18, Vite, TypeScript, Tailwind CSS, Lucide
Backend ASP.NET Core 10 (Web API), MediatR (CQRS)
Database MySQL 8.0, EF Core (Pomelo Provider)
Sandbox Roslyn (Microsoft.CodeAnalysis.CSharp.Scripting)
AI Engine Google Gemini (Models: 1.5-Flash / 2.5-Flash)
Reporting QuestPDF
State TanStack Query v5 + React Context API

🛠 Developer Setup

Prerequisites

  • .NET 9 or 10 SDK
  • Node.js (v18+)
  • MySQL Server (v8.0+)
  • Google Gemini API Key (Get one here)

Quick Start

  1. Database: Create a MySQL db and configure CONNECTION_STRING in src/backend/.env.
  2. Migrations: dotnet ef database update --project src/backend/CsharpAcademy.Infrastructure
  3. Launch Backend: dotnet run --project src/backend/CsharpAcademy.Api
  4. Launch Frontend: cd src/frontend && npm install && npm run dev

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Author: Boateng Prince Agyenim
C# Semester Project - 2026

About

C# Academy is a web-based intelligent learning platform designed to help students learn C# programming through structured courses, quizzes, interactive coding exercises, progress tracking, and AI-powered learning assistance.

Resources

License

Stars

3 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors