How shivamsingh5112004/studentskillhub works
StudentSkillHub combines student accounts and learning-progress APIs with AI mentoring and roadmap recommendations. A student signs in, accesses profile and skill/module progress, then can ask either the conversational mentor or the progress agent for personalized guidance. The agent uses a Genkit flow and MCP learning tools to consult roadmap and profile data; completion can update student progress. The tree and excerpts establish the main backend and agent wiring, but frontend API wiring and several implementation details were not sampled, so those links are omitted.
Main entry points: server.js Express API · aiRoutes.js Mentor routes · authMiddleware.js Token verification · studentRoutes.js Student routes
Components 23
Student interface
- Next.js app
frontend/app/page.tsx - Login and signup
frontend/app/components/AuthForm.tsx - Auth helpers
frontend/app/lib/auth.ts - Firebase client
frontend/app/lib/firebase.ts
Core API
- Express API
backend/server.js - Student routes
backend/routes/studentRoutes.js - Student controller
backend/controllers/studentController.js - Token verification
backend/middleware/authMiddleware.js - Student context
backend/middleware/studentContextMiddleware.js - Mentor routes
backend/routes/aiRoutes.js - AI usage limits
backend/utils/aiUsage.js - Agent routes
backend/routes/genkitRoutes.js
AI services
- AI mentor
backend/controllers/aiController.js - Gemini client
backend/ai/gemini.js - Agent gateway
backend/controllers/genkitController.js - Genkit HTTP service
backend/genkit-ai/server.ts - Mentor flow
backend/genkit-ai/index.ts - Learning tools
backend/mcp/server.ts
Learning data
- Student model
backend/models/studentModel.js - Firestore
backend/config/firebase.js
Other components
- Student
- AI model providers
- Firebase Authentication
Connections 26
- Student → Next.js app: uses
- Login and signup → Auth helpers: calls
- Auth helpers → Firebase client
- Next.js app → Express API: API requests
- Express API → Student routes: mounts
- Express API → Mentor routes: mounts
- Express API → Agent routes: mounts
- Student routes → Token verification: verifies token
- Student routes → Student controller: dispatches
- Student controller → Student model: calls
- Student model → Firestore: reads and writes
- Mentor routes → Token verification: verifies token
- Mentor routes → Student context: loads context
- Mentor routes → AI mentor: dispatches
- AI mentor → Gemini client: generates response
- AI mentor → AI usage limits: reserves usage
- Agent routes → Token verification: verifies token
- Agent routes → Agent gateway: dispatches
- Agent gateway → AI usage limits: reserves usage
- Agent gateway → Genkit HTTP service: POSTs flow request
- Genkit HTTP service → Mentor flow: handles flow
- Mentor flow → Learning tools: calls learning tools
- Learning tools → Firestore: reads and updates
- Mentor flow → AI model providers: generates with
- Gemini client → AI model providers: calls
- Token verification → Firebase Authentication: verifies token