How airusdev/student_system_python works
This is a command-line student record manager. A user selects a menu action, the system validates input and dispatches through the UI functions, and those functions call the data-access layer to add, update, delete, search, list, or sort student records. The data layer loads and saves JSON records, and creates student IDs. The README documents the menu-to-UI-to-data-access separation; sampled source confirms several calls and persistence behavior, but unsampled operations are represented only where documented.
Main entry points: utils.py Option dispatch · db_access.py JSON data access · student_system.py System loop · database.json Student records
Components 20
Application
- System loop
student_system.py
User interaction
- Menu input
utils.py - Option dispatch
utils.py - Input validation
utils.py - Add interaction
utils.py - Update interaction
utils.py - Delete interaction
utils.py - Search interaction
utils.py - List interaction
utils.py - Sort interaction
utils.py
Student operations
- Add student
db_access.py - Update student
db_access.py - Delete student
db_access.py - Search student
db_access.py - List students
db_access.py - Sort students
db_access.py - Student ID generation
db_access.py
Persistence
- JSON data access
db_access.py - Student records
data/database.json
Other components
- User
Connections 22
- User → Menu input: chooses option
README.md - System loop → Menu input: requests choice
student_system.py - Menu input → Input validation: validates choice
utils.py - System loop → Option dispatch: dispatches choice
student_system.py - Option dispatch → Add interaction: selects action
README.md - Option dispatch → Update interaction: selects action
README.md - Option dispatch → Delete interaction: selects action
README.md - Option dispatch → Search interaction: selects action
README.md - Option dispatch → List interaction: selects action
README.md - Option dispatch → Sort interaction: selects action
README.md - Add interaction → Input validation: collects details
utils.py - Add interaction → Add student: calls add
utils.py - Update interaction → Update student: calls update
utils.py - Delete interaction → Delete student: calls delete
utils.py - Search interaction → Search student: calls search
utils.py - List interaction → List students: calls listing
utils.py - Sort interaction → Sort students: calls sorting
utils.py - Add student → Student ID generation: creates identifier
db_access.py - JSON data access → Student records: loads and saves
db_access.py - Add student → JSON data access: persists record
README.md - Update student → JSON data access: persists changes
README.md - Delete student → JSON data access: persists changes
README.md