How dh-dang22/smartsite_ai_integrated_construction_site_management_system works
SmartSite is a terminal-based site-management application. The documented and indexed flow begins at the welcome screen, proceeds through login and role-specific menus, and lets users manage people, zones, attendance, and incidents. Managers handle domain records and file persistence; shared validation and input utilities support those operations. The excerpts show several manager responsibilities and some file I/O, while the README points to broader login and role documentation that was not included, so those details are represented conservatively.
Main entry points: PersonManager.java People manager · ZoneManager2.java Zone manager · IncidentManager.java Incident manager · AttendanceManager.java Attendance manager
Components 23
Application and menus
- Application entry
src/Main/Main.java - Welcome menu
src/ui_Dang_dang_sua/WelcomeMenu.java - Login menu
src/ui_Dang_dang_sua/LoginMenu.java - Role menus
src/ui_Dang_dang_sua - Management menu
src/ui_Dang_dang_sua/ManagementMenu.java
Accounts and people
- Accounts
src/account/Account.java - Account manager
src/account/AccountManager.java - People manager
src/Person/PersonManager.java - Person roles
src/Person/Person.java
Site operations
- Zone manager
src/Zone/ZoneManager2.java - Zones
src/Zone/Zone.java - Restricted zones
src/Zone/RestrictedZone.java - Attendance manager
src/Attendance/AttendanceManager.java - Attendance records
src/Attendance/AttendanceRecord.java - Incident manager
src/Incident/IncidentManager.java - Incident records
src/Incident/Incident.java
Shared input and validation
- Validation checks
src/Validatable - Input scanner
src/Validatable/InputScanner.java
File data
- People data
data/Person.txt - Zone data
data/Zone.txt - Attendance data
data/Attendance.txt - Incident data
data/Incident.txt
Other components
- User
Connections 33
- User → Welcome menu: uses
- Application entry → Welcome menu: starts
src/Main/Main.java - Welcome menu → Login menu: opens
- Login menu → Role menus: dispatches
src/ui_Dang_dang_sua/LoginMenu.java - Login menu → People manager: uses
src/ui_Dang_dang_sua/LoginMenu.java - Management menu → People manager: manages
src/ui_Dang_dang_sua/ManagementMenu.java - Management menu → Zone manager: manages
src/ui_Dang_dang_sua/ManagementMenu.java - Management menu → Attendance manager: manages
src/ui_Dang_dang_sua/ManagementMenu.java - Management menu → Incident manager: manages
src/ui_Dang_dang_sua/ManagementMenu.java - Management menu → Account manager: manages
src/ui_Dang_dang_sua/ManagementMenu.java - Role menus → Attendance manager: uses
src/ui_Dang_dang_sua/UserWorkerMenu.java - Role menus → People manager: uses
src/ui_Dang_dang_sua/UserWorkerMenu.java - Role menus → Incident manager: uses
src/ui_Dang_dang_sua/UserSafetyOfficerMenu.java - Role menus → Zone manager: uses
src/ui_Dang_dang_sua/UserSiteManagerMenu.java - Account manager → Accounts: manages
src/account/AccountManager.java - Account manager → People manager: consults
src/account/AccountManager.java - People manager → Person roles: creates
src/Person/PersonManager.java - People manager → Validation checks: validates with
src/Person/PersonManager.java - People manager → People data: reads and writes
src/Person/PersonManager.java - Zone manager → Zones: manages
src/Zone/ZoneManager2.java - Zone manager → Restricted zones: creates
src/Zone/ZoneManager2.java - Zone manager → Validation checks: validates with
src/Zone/ZoneManager2.java - Zone manager → Zone data: writes
src/Zone/ZoneManager2.java - Attendance manager → Attendance records: creates
src/Attendance/AttendanceManager.java - Attendance manager → People manager: uses
src/Attendance/AttendanceManager.java - Attendance manager → Zone manager: uses
src/Attendance/AttendanceManager.java - Attendance manager → Attendance data: reads and writes
src/Attendance/AttendanceManager.java - Incident manager → Incident records: manages
src/Incident/IncidentManager.java - Incident manager → People manager: looks up
src/Incident/IncidentManager.java - Incident manager → Zone manager: looks up
src/Incident/IncidentManager.java - Incident manager → Validation checks: validates with
src/Incident/IncidentManager.java - Incident manager → Incident data: reads and writes
src/Incident/IncidentManager.java - Validation checks → Input scanner: uses
src/Validatable/CheckId.java