How andreicrp/viotrack-react works
VioTrack is a student-conduct management application for administrators and teachers/advisers. Users sign in, manage student and faculty rosters, record and resolve incidents, and review class-level or system-wide conduct information. The principal incident workflow selects a student and violation, records the report through the data service, and supports later resolution and audit review. The README also documents QR lookup, imports, analytics, exports, and parent SMS alerts. Some page and service implementations were not sampled, so links for those documented capabilities are intentionally limited.
Main entry points: App.jsx App and routes · dataService.js Data service · AddViolationModal.jsx Record incident · DashboardPage.jsx Dashboard
Components 28
Access and navigation
- App and routes
src/App.jsx - Authentication state
src/context/AuthContext.jsx - Login page
src/pages/LoginPage.jsx - Admin users
src/pages/AdminUsersPage.jsx - Profile
src/pages/ProfilePage.jsx
Conduct management
- Violation records
src/pages/ViolationsPage.jsx - Violation types
src/pages/ViolationTypesPage.jsx - Record incident
src/components/violations/AddViolationModal.jsx - Resolve incident
src/components/violations/ResolutionModal.jsx - Student selector
src/components/common/SearchableStudentSelect.jsx - Violation selector
src/components/common/SearchableViolationSelect.jsx - QR lookup
src/pages/ScanQRPage.jsx - Student conduct detail
src/pages/StudentViolationDetailPage.jsx - Parent SMS service
People and classes
- Student directory
src/pages/StudentsPage.jsx - Student registration
src/components/students/AddStudentModal.jsx - Student bulk import
src/components/students/BulkImportModal.jsx - Faculty management
src/pages/TeachersPage.jsx - Adviser assignments
src/pages/AdvisersPage.jsx - Adviser class portal
src/pages/MyClassPage.jsx
Data and reporting
- Dashboard
src/pages/DashboardPage.jsx - Activity audit
src/pages/ActivityLogsPage.jsx - Data service
src/services/dataService.js - Supabase client
src/lib/supabase.js - Supabase
- Browser local storage
- CSV helper
src/utils/csvHelper.js
Other components
- School staff
Connections 33
- School staff → App and routes: opens
- App and routes → Authentication state: provides
- App and routes → Login page: routes
- App and routes → Dashboard: routes
- App and routes → Violation records: routes
- App and routes → Violation types: routes
- App and routes → Student directory: routes
- App and routes → QR lookup: routes
- App and routes → Student conduct detail: routes
- App and routes → Faculty management: routes
- App and routes → Adviser assignments: routes
- App and routes → Adviser class portal: routes
- App and routes → Admin users: routes
- App and routes → Activity audit: routes
- App and routes → Profile: routes
- Login page → Authentication state: signs in
- Record incident → Student selector: selects student
- Record incident → Violation selector: selects offense
- Record incident → Data service: loads and records
- Resolve incident → Data service: updates case
- Student registration → Data service: saves student
- Student directory → Student registration: opens form
- Student bulk import → CSV helper: parses import
- Student bulk import → Data service: imports roster
- Data service → Supabase client: uses
- Supabase client → Supabase: connects
- Data service → Browser local storage: reads and writes fallback
- Dashboard → Data service: loads metrics
- Dashboard → CSV helper: exports CSV
- Violation records → Data service: loads records
- QR lookup → Student conduct detail: opens lookup
- Activity audit → Data service: loads audit log
- Record incident → Parent SMS service: alerts parent