feat: Implement Compliance Academy E-Learning module (Phases 1-7)
Some checks failed
CI/CD Pipeline / Go Tests (push) Has been cancelled
CI/CD Pipeline / Python Tests (push) Has been cancelled
CI/CD Pipeline / Website Tests (push) Has been cancelled
CI/CD Pipeline / Linting (push) Has been cancelled
CI/CD Pipeline / Security Scan (push) Has been cancelled
CI/CD Pipeline / Docker Build & Push (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / CI Summary (push) Has been cancelled
Security Scanning / Go Security Scan (push) Has been cancelled
Security Scanning / Python Security Scan (push) Has been cancelled
Security Scanning / Node.js Security Scan (push) Has been cancelled
ci/woodpecker/push/integration Pipeline failed
ci/woodpecker/push/main Pipeline failed
Security Scanning / Secret Scanning (push) Has been cancelled
Security Scanning / Dependency Vulnerability Scan (push) Has been cancelled
Security Scanning / Docker Image Security (push) Has been cancelled
Tests / Go Lint (push) Has been cancelled
Tests / All Checks Passed (push) Has been cancelled
Security Scanning / Security Summary (push) Has been cancelled
Tests / Go Tests (push) Has been cancelled
Tests / Python Tests (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / Python Lint (push) Has been cancelled
Tests / Security Scan (push) Has been cancelled
Some checks failed
CI/CD Pipeline / Go Tests (push) Has been cancelled
CI/CD Pipeline / Python Tests (push) Has been cancelled
CI/CD Pipeline / Website Tests (push) Has been cancelled
CI/CD Pipeline / Linting (push) Has been cancelled
CI/CD Pipeline / Security Scan (push) Has been cancelled
CI/CD Pipeline / Docker Build & Push (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / CI Summary (push) Has been cancelled
Security Scanning / Go Security Scan (push) Has been cancelled
Security Scanning / Python Security Scan (push) Has been cancelled
Security Scanning / Node.js Security Scan (push) Has been cancelled
ci/woodpecker/push/integration Pipeline failed
ci/woodpecker/push/main Pipeline failed
Security Scanning / Secret Scanning (push) Has been cancelled
Security Scanning / Dependency Vulnerability Scan (push) Has been cancelled
Security Scanning / Docker Image Security (push) Has been cancelled
Tests / Go Lint (push) Has been cancelled
Tests / All Checks Passed (push) Has been cancelled
Security Scanning / Security Summary (push) Has been cancelled
Tests / Go Tests (push) Has been cancelled
Tests / Python Tests (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / Python Lint (push) Has been cancelled
Tests / Security Scan (push) Has been cancelled
Add complete Academy backend (Go) and frontend (Next.js) for DSGVO/IT-Security/AI-Literacy compliance training: - Go backend: Course CRUD, enrollments, quiz evaluation, PDF certificates (gofpdf), video generation pipeline (ElevenLabs + HeyGen) - In-memory data store with PostgreSQL migration for future DB support - Frontend: Course creation (AI + manual), lesson viewer, interactive quiz, certificate viewer with PDF download - Fix existing compile errors in generate.go (SearchResult type mismatch), llm/service.go (unused var), rag/service.go (Unicode chars) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -96,6 +96,43 @@ func main() {
|
||||
checkpointHandler := api.NewCheckpointHandler()
|
||||
v1.GET("/checkpoints", checkpointHandler.GetAll)
|
||||
v1.POST("/checkpoints/validate", checkpointHandler.Validate)
|
||||
|
||||
// Academy (Compliance E-Learning)
|
||||
academyHandler := api.NewAcademyHandler(dbPool, llmService, ragService)
|
||||
academy := v1.Group("/academy")
|
||||
{
|
||||
// Course CRUD
|
||||
academy.GET("/courses", academyHandler.ListCourses)
|
||||
academy.GET("/courses/:id", academyHandler.GetCourse)
|
||||
academy.POST("/courses", academyHandler.CreateCourse)
|
||||
academy.PUT("/courses/:id", academyHandler.UpdateCourse)
|
||||
academy.DELETE("/courses/:id", academyHandler.DeleteCourse)
|
||||
|
||||
// Statistics
|
||||
academy.GET("/statistics", academyHandler.GetStatistics)
|
||||
|
||||
// Enrollments
|
||||
academy.GET("/enrollments", academyHandler.ListEnrollments)
|
||||
academy.POST("/enrollments", academyHandler.EnrollUser)
|
||||
academy.PUT("/enrollments/:id/progress", academyHandler.UpdateProgress)
|
||||
academy.POST("/enrollments/:id/complete", academyHandler.CompleteEnrollment)
|
||||
|
||||
// Quiz
|
||||
academy.POST("/lessons/:id/quiz", academyHandler.SubmitQuiz)
|
||||
|
||||
// Certificates
|
||||
academy.POST("/enrollments/:id/certificate", academyHandler.GenerateCertificateEndpoint)
|
||||
academy.GET("/certificates/:id", academyHandler.GetCertificate)
|
||||
academy.GET("/certificates/:id/pdf", academyHandler.DownloadCertificatePDF)
|
||||
|
||||
// AI Course Generation
|
||||
academy.POST("/courses/generate", academyHandler.GenerateCourse)
|
||||
academy.POST("/lessons/:id/regenerate", academyHandler.RegenerateLesson)
|
||||
|
||||
// Video Generation
|
||||
academy.POST("/courses/:id/generate-videos", academyHandler.GenerateVideos)
|
||||
academy.GET("/courses/:id/video-status", academyHandler.GetVideoStatus)
|
||||
}
|
||||
}
|
||||
|
||||
// Create server
|
||||
|
||||
Reference in New Issue
Block a user