How creaturek/teaching-assistance works
Teaching is a teacher-facing AI-assisted course authoring platform with a separate administration area. Teachers manage courses, enter course information, generate and edit objectives and syllabi, then generate and edit lecture materials; authentication and admin functions support that workflow. The Vue client calls a Spring Boot API, whose services use MyBatis mappers for MySQL and AI services for model-assisted generation. README capabilities are included where source excerpts were not provided; those unsampled links are shown only at the documented subsystem level.
Main entry points: courseManger.ts API clients · MaterialService.java Material service · CourseMapper.java Course mapper · UserMapper.java User mapper
Components 34
Web client
- Vue application
frontend/src/App.vue - Routes and guards
frontend/src/router/index.ts - Course workspace
frontend/src/components/CourseManage.vue - Course objectives
frontend/src/components/CourseDescription.vue - Course outline
frontend/src/components/CourseOutline.vue - Lecture editor
frontend/src/components/TeachingLecture.vue - Admin dashboard
frontend/src/views/Admin.vue - API clients
frontend/src/api/courseManger.ts
Course authoring API
- Course endpoints
backend/src/main/java/com/java_web/backend/Teacher/Controller/CourseController.java - Objective endpoints
backend/src/main/java/com/java_web/backend/Teacher/Controller/CourseObjectiveController.java - Syllabus endpoints
backend/src/main/java/com/java_web/backend/Teacher/Controller/SyllabusController.java - Material endpoints
backend/src/main/java/com/java_web/backend/Teacher/Controller/MaterialController.java - Course service
backend/src/main/java/com/java_web/backend/Teacher/Service/CourseService.java - Material service
backend/src/main/java/com/java_web/backend/Teacher/Service/MaterialService.java
AI generation
- Generation endpoints
backend/src/main/java/com/java_web/backend/Teacher/Controller/LLMController.java - Objective generation
backend/src/main/java/com/java_web/backend/Common/Service/LLMIntroductionAndTargetService.java - Syllabus generation
backend/src/main/java/com/java_web/backend/Common/Service/LLMSyllabusService.java - Initial syllabus
backend/src/main/java/com/java_web/backend/Common/Service/LLMInitialSyllabusService.java - Lecture generation
backend/src/main/java/com/java_web/backend/Common/Service/LLMLectureService.java - JSON to Markdown
backend/src/main/java/com/java_web/backend/Common/Service/LLMJsonToMarkdownService.java
Identity and administration
- Signup endpoint
backend/src/main/java/com/java_web/backend/Common/Controller/SignupController.java - Signup service
backend/src/main/java/com/java_web/backend/Common/Service/SignupService.java - JWT service
backend/src/main/java/com/java_web/backend/Common/Service/JWTService.java - User administration
backend/src/main/java/com/java_web/backend/Admin/Service/AdminUserService.java - Usage statistics
backend/src/main/java/com/java_web/backend/Admin/Service/AdminStatisticsService.java - Feature restrictions
backend/src/main/java/com/java_web/backend/Admin/Service/AdminRestrictionService.java
Persistence
- MySQL database
- Course mapper
backend/src/main/java/com/java_web/backend/Common/Mapper/CourseMapper.java - User mapper
backend/src/main/java/com/java_web/backend/Common/Mapper/UserMapper.java - Syllabus mapper
backend/src/main/java/com/java_web/backend/Common/Mapper/SyllabusMapper.java - Material mapper
backend/src/main/java/com/java_web/backend/Common/Mapper/MaterialMapper.java
Other components
- Teacher
- Administrator
- DashScope model API
Connections 41
- Teacher → Vue application: uses
- Administrator → Vue application: uses
- Vue application → Routes and guards: renders routes
- Routes and guards → Course workspace: routes to
- Routes and guards → Admin dashboard: routes to
- Course workspace → API clients: requests courses
- Course objectives → API clients: requests generation
- Course outline → API clients: requests generation
- Lecture editor → API clients: requests generation
- Admin dashboard → API clients: requests administration
- API clients → Course endpoints: HTTP requests
- API clients → Objective endpoints: HTTP requests
- API clients → Syllabus endpoints: HTTP requests
- API clients → Material endpoints: HTTP requests
- Course endpoints → Course service: delegates
- Material endpoints → Material service: delegates
- Generation endpoints → Objective generation: generates objectives
- Generation endpoints → Syllabus generation: generates syllabus
- Generation endpoints → Material service: generates lecture
- Objective generation → DashScope model API: sends prompts
- Syllabus generation → DashScope model API: sends prompts
- Initial syllabus → DashScope model API: sends prompts
- Lecture generation → DashScope model API: sends prompts
- JSON to Markdown → DashScope model API: sends prompts
- Material service → Initial syllabus: builds initial syllabus
- Material service → Lecture generation: generates lecture
- Signup endpoint → Signup service: registers user
- Signup service → User mapper: reads and writes
- User administration → User mapper: reads and writes
- User administration → JWT service: issues token
- Usage statistics → User mapper: counts users
- Usage statistics → Course mapper: counts courses
- Feature restrictions → MySQL database: manages restrictions
- Course service → Course mapper: reads and writes
- Material service → Course mapper: checks course access
- Material service → Syllabus mapper: reads syllabus
- Material service → Material mapper: reads and writes material
- Course mapper → MySQL database: queries
- User mapper → MySQL database: queries
- Syllabus mapper → MySQL database: queries
- Material mapper → MySQL database: queries