How cinnapea/ltnc_doansinhvien works
This is a multi-role student thesis management system: Spring Boot serves role-based web workflows, Rails exposes the academic CRUD API, and SQL Server is the shared persistent store. Admins manage accounts and monitor academic records; instructors create topics, approve registrations, supervise progress and submissions, and evaluate theses; students browse and register for topics, then work through thesis milestones and view results. The graph follows the README’s documented split architecture and major capabilities; sampled source confirms selected Spring-to-service and Rails controller behavior, but not every service call or database mapping.
Main entry points: controller Web controllers · routes.rb API routes · api Thesis milestone APIs · repository SQL repositories
Components 23
Spring web app
- Web controllers
src/main/java/com/webappfinal/final_webapp/controller - Session and auth
src/main/java/com/webappfinal/final_webapp/service/AuthSessionService.java - Signup service
src/main/java/com/webappfinal/final_webapp/service/SignupService.java - Dashboards
src/main/java/com/webappfinal/final_webapp/service/DashboardService.java - Profiles
src/main/java/com/webappfinal/final_webapp/service/ProfileService.java - API services
src/main/java/com/webappfinal/final_webapp/service - SQL repositories
src/main/java/com/webappfinal/final_webapp/repository
Rails API
- API routes
ruby_api/config/routes.rb - Admin users API
ruby_api/app/controllers/api/admin/users_controller.rb - Topics API
ruby_api/app/controllers/api/the_loai_controller.rb - Registrations API
ruby_api/app/controllers/api/dang_ky_controller.rb - Thesis milestone APIs
ruby_api/app/controllers/api - Rails models
ruby_api/app/models
Academic workflow
- Accounts and roles
src/main/java/com/webappfinal/final_webapp/entity/NguoiDung.java - Thesis topics
src/main/java/com/webappfinal/final_webapp/entity/TheLoai.java - Topic registrations
src/main/java/com/webappfinal/final_webapp/entity/DangKy.java - Theses
src/main/java/com/webappfinal/final_webapp/entity/DoAn.java - Progress and submissions
src/main/java/com/webappfinal/final_webapp/entity/TienDo.java - Evaluations
src/main/java/com/webappfinal/final_webapp/entity/DanhGia.java
Persistence
- SQL Server
Other components
- Admin
- Instructor
- Student
Connections 29
- Admin → Web controllers: uses admin pages
- Instructor → Web controllers: uses instructor pages
- Student → Web controllers: uses student pages
- Web controllers → Session and auth: checks sessions
- Web controllers → Signup service: handles signup
- Web controllers → Dashboards: builds dashboards
- Web controllers → Profiles: manages profiles
- Web controllers → API services: requests academic data
- Web controllers → SQL repositories: reads user records
- Session and auth → SQL repositories: checks credentials
- Signup service → SQL repositories: creates accounts
- Profiles → SQL repositories: reads and writes profiles
- API services → API routes: calls API
- API routes → Admin users API: routes user requests
- API routes → Topics API: routes topic requests
- API routes → Registrations API: routes registration requests
- API routes → Thesis milestone APIs: routes milestone requests
- Admin users API → Rails models: reads and writes users
- Topics API → Rails models: reads and writes topics
- Registrations API → Rails models: manages approvals
- Thesis milestone APIs → Rails models: manages academic records
- SQL repositories → SQL Server: reads and writes
- Rails models → SQL Server: persists records
- Admin users API → Accounts and roles: manages accounts
- Topics API → Thesis topics: manages topics
- Registrations API → Topic registrations: approves or rejects
- Thesis milestone APIs → Theses: serves thesis data
- Thesis milestone APIs → Progress and submissions: serves progress and submissions
- Thesis milestone APIs → Evaluations: serves evaluations