How soham-darak/codegrowth-ai works
CodeGrowth AI combines a repository-analysis engine, learning-platform backends, and a Next.js interface. The main workflow is a student submission (code or repository URL), assignment evaluation by the AI engine, and saved evaluation results; separate platform capabilities cover courses, assignments, goals, authentication, and educator administration. The tree and README document the AI agent stages, but sampled AI source is incomplete, so internal agent-to-agent links are limited to those documented. The second Spring backend appears to provide competency and growth tracking; its relationship to the primary backend is not established.
Main entry points: route.js Backend proxy · orchestrator_agent.py Agent orchestration · AuthController.java Auth and OAuth API · StudentController.java Student API
Components 30
Web interface
- Role dashboards
frontend/app - Backend proxy
frontend/app/api/backend/[...path]/route.js
Platform backend
- Auth and OAuth API
backend/src/main/java/com/codegrowth/backend/api/AuthController.java - Authentication
backend/src/main/java/com/codegrowth/backend/service/AuthService.java - OAuth login
backend/src/main/java/com/codegrowth/backend/service/OAuthService.java - Student API
backend/src/main/java/com/codegrowth/backend/api/StudentController.java - Teacher API
backend/src/main/java/com/codegrowth/backend/api/TeacherController.java - Admin API
backend/src/main/java/com/codegrowth/backend/api/AdminController.java - Learning records
backend/src/main/java/com/codegrowth/backend/entity - Submission evaluation
backend/src/main/java/com/codegrowth/backend/service/AiEvaluationService.java - AI service adapter
backend/src/main/java/com/codegrowth/backend/service/AiService.java - Learner account
backend/src/main/java/com/codegrowth/backend/entity/AppUser.java - Platform records
backend/src/main/java/com/codegrowth/backend/repository/SubmissionRepository.java
AI analysis
- AI HTTP API
ai-engine/app/main.py - Agent orchestration
ai-engine/app/agents/orchestrator_agent.py - Repository agent
ai-engine/app/agents/repository_agent.py - GitHub fetch
ai-engine/app/services/github_service.py - Code analysis agent
ai-engine/app/agents/code_analysis_agent.py - Static analysis
ai-engine/app/services/code_analysis_service.py - Evidence validation
ai-engine/app/services/evidence_validator.py - Assignment evaluation
ai-engine/app/agents/evaluation_agent.py - Local LLM runtime
ai-engine/app/services/llm_runtime.py
Competency backend
- Competency APIs
backend/codegrowth-backend/src/main/java/com/codegrowth/controller/CompetencyAssessmentController.java - Assessment service
backend/codegrowth-backend/src/main/java/com/codegrowth/service/CompetencyAssessmentService.java - Skill growth profiles
backend/codegrowth-backend/src/main/java/com/codegrowth/service/StudentSkillProfileService.java - Course enrollment
backend/codegrowth-backend/src/main/java/com/codegrowth/service/EnrollmentService.java - Competency records
backend/codegrowth-backend/src/main/java/com/codegrowth/repository/CompetencyAssessmentRepository.java
Other components
- Student / teacher
- Ollama model
- GitHub
Connections 30
- Student / teacher → Role dashboards: uses
- Role dashboards → Backend proxy: requests
- Backend proxy → Auth and OAuth API: forwards
- Backend proxy → Student API: forwards
- Backend proxy → Teacher API: forwards
- Backend proxy → Admin API: forwards
- Auth and OAuth API → Authentication: calls
- Authentication → Learner account: reads/writes
- Auth and OAuth API → OAuth login: calls
- OAuth login → Learner account: creates/updates
- Student API → Platform records: reads/writes
- Student API → Submission evaluation: starts evaluation
- Submission evaluation → AI service adapter: evaluates submission
- AI service adapter → AI HTTP API: HTTP request
- AI HTTP API → Agent orchestration: dispatches
- Agent orchestration → Repository agent: routes repository task
- Repository agent → GitHub fetch: fetches source
- GitHub fetch → GitHub: API access
- Agent orchestration → Code analysis agent: routes analysis task
- Code analysis agent → Static analysis: analyzes code
- Code analysis agent → Local LLM runtime: requests inference
- Agent orchestration → Assignment evaluation: routes evaluation task
- Assignment evaluation → Evidence validation: checks evidence
- Assignment evaluation → Local LLM runtime: requests inference
- Local LLM runtime → Ollama model: inference request
- AI service adapter → Platform records: saves evaluation
- Competency APIs → Assessment service: calls
- Assessment service → Competency records: reads/writes
- Skill growth profiles → Competency records: reads assessment
- Course enrollment → Competency records: not applicable