How minhkhang-io/smartsite_ai_integrated_construction_site_management_system works
SmartSite is a terminal-based site-management application for people, zones, attendance, and incidents, with account login and role-specific menus. The user journey starts at the terminal entry point, proceeds through welcome and login into a role menu, and invokes management functions that work with domain records and text-file data. Validation is a shared internal layer. The README also names authentication, role assignment, validation, and data as project-map topics. Some manager and menu implementations are only partially excerpted, so uncertain links are omitted.
Main entry points: ManagementMenu.java Management menu · ZoneManager2.java Zone management · PersonManager.java People management · IncidentManager.java Incident management
Components 23
Terminal interaction
- Application entry
src/Main/Main.java - Welcome menu
src/ui_Dang_dang_sua/WelcomeMenu.java - Login and roles
src/ui_Dang_dang_sua/LoginMenu.java - Role menus
src/ui_Dang_dang_sua - Management menu
src/ui_Dang_dang_sua/ManagementMenu.java
Site operations
- Zone management
src/Zone/ZoneManager2.java - Zone records
src/Zone/Zone.java - Restricted zones
src/Zone/RestrictedZone.java - Attendance management
src/Attendance/AttendanceManager.java - Attendance records
src/Attendance/AttendanceRecord.java - Incident management
src/Incident/IncidentManager.java - Incident records
src/Incident/Incident.java
People and accounts
- People management
src/Person/PersonManager.java - Person records
src/Person/Person.java - Account management
src/account/AccountManager.java - Account records
src/account/Account.java
Validation and storage
- Input and validation
src/Validatable - People data
data/Person.txt - Zone data
data/Zone.txt - Attendance data
data/Attendance.txt - Incident data
data/Incident.txt - Account data
data/accounts.txt
Other components
- Operator
Connections 28
- Operator → Application entry: starts
src/Main/Main.java - Application entry → Welcome menu: launches
src/Main/Main.java - Welcome menu → Login and roles: opens
- Login and roles → Role menus: dispatches
src/ui_Dang_dang_sua/LoginMenu.java - Role menus → Management menu: opens
src/ui_Dang_dang_sua/UserAdminMenu.java - Management menu → People management: invokes
src/ui_Dang_dang_sua/ManagementMenu.java - Management menu → Zone management: invokes
src/ui_Dang_dang_sua/ManagementMenu.java - Management menu → Attendance management: invokes
src/ui_Dang_dang_sua/ManagementMenu.java - Management menu → Incident management: invokes
src/ui_Dang_dang_sua/ManagementMenu.java - Management menu → Account management: invokes
src/ui_Dang_dang_sua/ManagementMenu.java - People management → Person records: creates
src/Person/PersonManager.java - People management → Input and validation: uses
src/Person/PersonManager.java - Zone management → Zone records: creates
src/Zone/ZoneManager2.java - Zone management → Restricted zones: creates
src/Zone/ZoneManager2.java - Zone management → Input and validation: uses
src/Zone/ZoneManager2.java - Attendance management → Attendance records: creates
src/Attendance/AttendanceManager.java - Attendance management → Person records: uses
src/Attendance/AttendanceManager.java - Incident management → Incident records: creates
src/Incident/IncidentManager.java - Incident management → People management: looks up
src/Incident/IncidentManager.java - Incident management → Zone management: uses
src/Incident/IncidentManager.java - Incident records → Person records: references
src/Incident/Incident.java - Incident records → Zone records: references
src/Incident/Incident.java - Account management → Account records: manages
src/account/AccountManager.java - Account management → People management: uses
src/account/AccountManager.java - People management → People data: reads and writes
src/Person/PersonManager.java - Zone management → Zone data: reads and writes
src/Zone/ZoneManager2.java - Attendance management → Attendance data: reads and writes
src/Attendance/AttendanceManager.java - Incident management → Incident data: reads and writes
src/Incident/IncidentManager.java