sunmughan/course-automation

An automation project build for interns to teach them their selected stream with liveliness and Ai

0

stars

78

commits

TypeScript

primary language

Sep 13, 2026

updated

README

AI-Powered Software Engineering Training Platform

Production-grade interactive learning platform for software engineering. Built with Next.js 16, PostgreSQL, Prisma 7, and a multi-provider AI Gateway.

Architecture

Student → Learning UI → { Lessons, IDE, AI Tutor }
                            ↓
              Execution API → Queue → Workers → Sandbox
                            ↓
              AI Gateway → { NVIDIA, Gemini, AgentRouter, TokenRouter }
                            ↓
              Visualization Engine → { Flow Diagrams, Call Stack, Memory View }
                            ↓
              Adaptive Learning → Assessment → Skill Graph

Tech Stack

LayerTechnology
FrameworkNext.js 16 (App Router, Turbopack)
LanguageTypeScript (strict mode)
DatabasePostgreSQL 18
ORMPrisma 7
AuthJWT (jose)
UIshadcn/ui, Tailwind CSS, Framer Motion
AINVIDIA NIM, Google Gemini, AgentRouter.org, TokenRouter.com
ValidationZod
EditorMonaco Editor
VisualizationReactFlow, Custom Canvas

Courses

  1. Frontend Development (14 modules) - HTML, CSS, JavaScript, React, TypeScript, Next.js, Testing
  2. Backend Development (12 modules) - Node.js, Express, Laravel, PHP, Databases, REST, GraphQL, Microservices
  3. Mobile App Development (10 modules) - React Native, Flutter, Swift, Kotlin, Firebase
  4. AI & Prompt Engineering (10 modules) - ML Basics, NLP, LLMs, RAG, Agents, Prompt Design
  5. Data Science (10 modules) - Python, NumPy, Pandas, SQL, ML, Stats, Visualization

Getting Started

Prerequisites

  • Node.js 20+
  • PostgreSQL 16+
  • npm or yarn

Installation

git clone https://github.com/sunmughan/course-automation.git
cd course-automation

# Install dependencies
npm install

# Copy environment config
cp .env.example .env

# Edit .env with your PostgreSQL and AI API keys
# DATABASE_URL="postgresql://USER:PASSWORD@localhost:5432/platform_db"
# NVIDIA_API_KEY="nvapi-..."
# GEMINI_API_KEY="..."
# AGENTROUTER_API_KEY="..."
# TOKENROUTER_API_KEY="sk-..."

# Push schema to database
npx prisma db push

# Seed curriculum data
npx tsx prisma/seed.ts

# Start development server
npm run dev

AI Providers

The platform supports 4 AI providers with automatic fallback:

ProviderPurposeConfig
NVIDIA NIMHigh-quality code generationNVIDIA_API_KEY
Google GeminiExplanations and tutoringGEMINI_API_KEY
AgentRouter.orgAgent orchestrationAGENTROUTER_API_KEY
TokenRouter.comCost-optimized routingTOKENROUTER_API_KEY

Project Structure

src/
├── app/
│   ├── api/           # API routes (auth, courses, lessons, ai, code)
│   ├── dashboard/     # Protected dashboard pages
│   ├── login/         # Auth pages
│   └── layout.tsx     # Root layout
├── components/
│   ├── ui/            # shadcn/ui components
│   ├── tutor/         # AI Tutor component
│   ├── visualization/ # Flow diagrams, call stack, memory view
│   └── editor/        # Monaco code editor
├── hooks/             # React hooks
├── lib/
│   ├── ai/            # AI Gateway, Router, Orchestrator, Token Router
│   ├── curriculum/    # Seed data
│   ├── auth.ts        # JWT authentication
│   ├── db.ts          # Prisma client
│   ├── api-handler.ts # API handler wrapper + validation
│   ├── errors.ts      # Error classes + Zod schemas
│   └── logger.ts      # Centralized logging
└── types/             # TypeScript types

API Routes

MethodRouteAuthDescription
POST/api/auth/registerNoUser registration
POST/api/auth/loginNoUser login
GET/api/auth/sessionYesCurrent session
GET/api/coursesNoList courses
GET/api/courses/:idNoCourse detail
POST/api/courses/:id/enrollYesEnroll in course
GET/api/lessons/:idNoLesson content
POST/api/lessons/:id/completeYesMark lesson complete
POST/api/ai/chatYesAI Tutor chat
POST/api/ai/orchestrateYesAgent orchestration
POST/api/code/runYesExecute code
GET/api/progressYesStudent progress

Scripts

npm run dev       # Development server (Turbopack)
npm run build     # Production build
npm run start     # Start production server
npm run lint      # Lint code
npm run db:push   # Push schema to database
npm run db:seed   # Seed curriculum data
npm run db:studio # Open Prisma Studio

License

MIT

Contributors

sunmughan

78 commits

sunmughan/course-automation

An automation project build for interns to teach them their selected stream with liveliness and Ai

0

stars

78

commits

TypeScript

primary language

Sep 13, 2026

updated

README

AI-Powered Software Engineering Training Platform

Production-grade interactive learning platform for software engineering. Built with Next.js 16, PostgreSQL, Prisma 7, and a multi-provider AI Gateway.

Architecture

Student → Learning UI → { Lessons, IDE, AI Tutor }
                            ↓
              Execution API → Queue → Workers → Sandbox
                            ↓
              AI Gateway → { NVIDIA, Gemini, AgentRouter, TokenRouter }
                            ↓
              Visualization Engine → { Flow Diagrams, Call Stack, Memory View }
                            ↓
              Adaptive Learning → Assessment → Skill Graph

Tech Stack

LayerTechnology
FrameworkNext.js 16 (App Router, Turbopack)
LanguageTypeScript (strict mode)
DatabasePostgreSQL 18
ORMPrisma 7
AuthJWT (jose)
UIshadcn/ui, Tailwind CSS, Framer Motion
AINVIDIA NIM, Google Gemini, AgentRouter.org, TokenRouter.com
ValidationZod
EditorMonaco Editor
VisualizationReactFlow, Custom Canvas

Courses

  1. Frontend Development (14 modules) - HTML, CSS, JavaScript, React, TypeScript, Next.js, Testing
  2. Backend Development (12 modules) - Node.js, Express, Laravel, PHP, Databases, REST, GraphQL, Microservices
  3. Mobile App Development (10 modules) - React Native, Flutter, Swift, Kotlin, Firebase
  4. AI & Prompt Engineering (10 modules) - ML Basics, NLP, LLMs, RAG, Agents, Prompt Design
  5. Data Science (10 modules) - Python, NumPy, Pandas, SQL, ML, Stats, Visualization

Getting Started

Prerequisites

  • Node.js 20+
  • PostgreSQL 16+
  • npm or yarn

Installation

git clone https://github.com/sunmughan/course-automation.git
cd course-automation

# Install dependencies
npm install

# Copy environment config
cp .env.example .env

# Edit .env with your PostgreSQL and AI API keys
# DATABASE_URL="postgresql://USER:PASSWORD@localhost:5432/platform_db"
# NVIDIA_API_KEY="nvapi-..."
# GEMINI_API_KEY="..."
# AGENTROUTER_API_KEY="..."
# TOKENROUTER_API_KEY="sk-..."

# Push schema to database
npx prisma db push

# Seed curriculum data
npx tsx prisma/seed.ts

# Start development server
npm run dev

AI Providers

The platform supports 4 AI providers with automatic fallback:

ProviderPurposeConfig
NVIDIA NIMHigh-quality code generationNVIDIA_API_KEY
Google GeminiExplanations and tutoringGEMINI_API_KEY
AgentRouter.orgAgent orchestrationAGENTROUTER_API_KEY
TokenRouter.comCost-optimized routingTOKENROUTER_API_KEY

Project Structure

src/
├── app/
│   ├── api/           # API routes (auth, courses, lessons, ai, code)
│   ├── dashboard/     # Protected dashboard pages
│   ├── login/         # Auth pages
│   └── layout.tsx     # Root layout
├── components/
│   ├── ui/            # shadcn/ui components
│   ├── tutor/         # AI Tutor component
│   ├── visualization/ # Flow diagrams, call stack, memory view
│   └── editor/        # Monaco code editor
├── hooks/             # React hooks
├── lib/
│   ├── ai/            # AI Gateway, Router, Orchestrator, Token Router
│   ├── curriculum/    # Seed data
│   ├── auth.ts        # JWT authentication
│   ├── db.ts          # Prisma client
│   ├── api-handler.ts # API handler wrapper + validation
│   ├── errors.ts      # Error classes + Zod schemas
│   └── logger.ts      # Centralized logging
└── types/             # TypeScript types

API Routes

MethodRouteAuthDescription
POST/api/auth/registerNoUser registration
POST/api/auth/loginNoUser login
GET/api/auth/sessionYesCurrent session
GET/api/coursesNoList courses
GET/api/courses/:idNoCourse detail
POST/api/courses/:id/enrollYesEnroll in course
GET/api/lessons/:idNoLesson content
POST/api/lessons/:id/completeYesMark lesson complete
POST/api/ai/chatYesAI Tutor chat
POST/api/ai/orchestrateYesAgent orchestration
POST/api/code/runYesExecute code
GET/api/progressYesStudent progress

Scripts

npm run dev       # Development server (Turbopack)
npm run build     # Production build
npm run start     # Start production server
npm run lint      # Lint code
npm run db:push   # Push schema to database
npm run db:seed   # Seed curriculum data
npm run db:studio # Open Prisma Studio

License

MIT

Contributors

sunmughan

78 commits

Languages

TypeScript

99.9%