How wenuanhappy/ct-platform-v2 works
This is a Vue 3 and Spring Boot interactive learning platform for computational-thinking concepts. A learner registers or logs in, then browses the dashboard and opens one of eight interactive learning modules; account and profile actions use authenticated APIs. The backend handles authentication, user profiles, and module catalog data, with user records persisted in MySQL. Module descriptions are supplied by the backend, while the interactive simulations are frontend components. The graph follows documented capabilities; several frontend and persistence connections are based on the README and tree because their implementations were not sampled.
Main entry points: index.js Application routes · request.js HTTP request client · auth.js Authentication state · App.vue Vue application
Components 23
Learning frontend
- Vue application
frontend/src/App.vue - Application routes
frontend/src/router/index.js - Learning dashboard
frontend/src/views/DashboardView.vue - Module page
frontend/src/views/ModuleView.vue - Eight learning simulations
frontend/src/views/modules - Module API
frontend/src/api/module.js
Account experience
- Login and registration
frontend/src/views/LoginView.vue - Registration page
frontend/src/views/RegisterView.vue - Profile page
frontend/src/views/ProfileView.vue - Authentication state
frontend/src/stores/auth.js - Authentication API
frontend/src/api/auth.js - User API
frontend/src/api/user.js - HTTP request client
frontend/src/utils/request.js
Backend services
- Authentication endpoints
backend/src/main/java/com/ctplatform/controller/AuthController.java - User endpoints
backend/src/main/java/com/ctplatform/controller/UserController.java - Module endpoints
backend/src/main/java/com/ctplatform/controller/ModuleController.java - Authentication logic
backend/src/main/java/com/ctplatform/service/impl/AuthServiceImpl.java - Profile logic
backend/src/main/java/com/ctplatform/service/impl/UserServiceImpl.java - Module catalog
backend/src/main/java/com/ctplatform/service/impl/ModuleServiceImpl.java - JWT handling
backend/src/main/java/com/ctplatform/util/JwtUtil.java
Persistence
- User data mapper
backend/src/main/java/com/ctplatform/mapper/UserMapper.java - MySQL database
Other components
- Learner
Connections 29
- Learner → Vue application: uses
- Vue application → Application routes: renders routes
- Application routes → Login and registration: routes
- Application routes → Registration page: routes
- Application routes → Learning dashboard: routes
- Application routes → Module page: routes
- Application routes → Profile page: routes
- Vue application → Authentication state: initializes state
- Login and registration → Authentication state: submits credentials
- Registration page → Authentication state: registers account
- Profile page → User API: updates profile
- Authentication state → Authentication API: requests authentication
- Authentication state → User API: loads user
- Authentication API → HTTP request client: sends requests
- User API → HTTP request client: sends requests
- Learning dashboard → Module API: loads catalog
- Module page → Module API: loads module details
- Module API → HTTP request client: sends requests
- Module page → Eight learning simulations: loads simulator
- HTTP request client → Authentication endpoints: HTTP requests
- HTTP request client → User endpoints: HTTP requests
- HTTP request client → Module endpoints: HTTP requests
- Authentication endpoints → Authentication logic: delegates
- User endpoints → Profile logic: delegates
- Module endpoints → Module catalog: delegates
- Authentication logic → User data mapper: reads and writes users
- Authentication logic → JWT handling: creates and validates tokens
- Profile logic → User data mapper: reads and updates users
- User data mapper → MySQL database: queries records