How quoccaogia/dsa_final works
This is a student scholarship-ranking application. Users view student details and rankings, add or update records, delete students, or upload CSV data through the browser; the frontend sends JSON requests to the C++ API, which coordinates in-memory student/index operations and SQLite persistence. Ranking is based on GPA, conduct score, GPA-10, and student ID, with whole-school and major/cohort views. README describes running the API alongside main.html. The graph reflects shown calls; unexcerpted page markup and source are not inferred.
Main entry points: api.cpp HTTP API · ScholarshipSystem.cpp Scholarship system · main.html Web page · script.js UI actions
Components 10
Browser interface
- Web page
frontend/main.html - UI actions
frontend/script.js
API service
- HTTP API
backend/api.cpp - HTTP server
backend/httplib.h
Student and rankings
- Scholarship system
backend/ScholarshipSystem.cpp - Student record
backend/Student.cpp - Ranking comparator
backend/CmpHocBong.cpp
Persistence
- SQLite handler
SQL/SQLiteHandler.h - SQLite database
Other components
- User
Connections 9
- User → Web page: uses
README.md - Web page → UI actions: loads
- UI actions → HTTP API: posts JSON
frontend/script.js - HTTP API → HTTP server: registers routes
backend/api.cpp - HTTP API → Scholarship system: dispatches actions
backend/api.cpp - HTTP API → SQLite handler: loads and persists
backend/api.cpp - Scholarship system → Student record: stores records
backend/ScholarshipSystem.cpp - Scholarship system → Ranking comparator: orders students
backend/ScholarshipSystem.cpp - SQLite handler → SQLite database: reads and writes
SQL/SQLiteHandler.h