How boltgriffin/wipms works
This is a role-based work-integrated learning / internship management web app for administrators, teachers, students, and supervisors. Users sign in and enter role-specific dashboards to manage student placements and records, record or review attendance and GPS scans, and handle journals, evaluations, conduct, and completion reporting. Administrators also manage imports, deployments, accounts, and system operations. The graph follows the evidenced app routing, authentication, API, and offline paths; several domain subsystems are represented from the file tree and route references, not sampled implementation details.
Main entry points: App.jsx Role-based app · ImportWizard.jsx Admin operations · authStore.js Session state · useOffline.js Connectivity and sync
Components 22
Application and access
- Role-based app
src/App.jsx - Session state
src/store/authStore.js - Authentication API
src/services/authService.js - HTTP client
src/services/api.js - Role navigation
src/components/AppShell.jsx - Data tables
src/components/datatable.jsx
Placements and administration
- Admin operations
src/pages/ImportWizard.jsx - Placement deployment
src/services/deployService.js - System controls
src/services/systemService.js
Student records
- Attendance and DTR
src/pages/TeacherDtr.jsx - GPS review
src/pages/TeacherGps.jsx - Journals and evaluations
src/pages/TeacherJournals.jsx - Conduct records
src/pages/ConductManage.jsx - Completion reports
src/hooks/useCompletion.js - GPS service
src/services/gpsService.js - Shared report views
src/components/ReportViews.jsx
Offline support
- Offline app host
src/components/PwaHost.jsx - Connectivity and sync
src/hooks/useOffline.js - Pending scan queue
src/offline/queue.js - Local storage
src/offline/db.js - Offline cache
src/offline/cache.js
Other components
- App user
Connections 21
- App user → Role-based app: uses
src/App.jsx - Role-based app → Session state: hydrates session
src/App.jsx - Role-based app → Role navigation: routes through
src/App.jsx - Role-based app → Admin operations: routes to
src/App.jsx - Role-based app → Attendance and DTR: routes to
src/App.jsx - Role-based app → GPS review: routes to
src/App.jsx - Role-based app → Journals and evaluations: routes to
src/App.jsx - Role-based app → Conduct records: routes to
src/App.jsx - Role-based app → Shared report views: uses
- Admin operations → Data tables: uses
src/pages/ImportWizard.jsx - Session state → Authentication API: calls
src/store/authStore.js - Authentication API → HTTP client: sends requests
src/services/authService.js - Admin operations → Placement deployment: manages placements
- Admin operations → System controls: manages system controls
- Offline app host → Connectivity and sync: starts offline support
src/components/PwaHost.jsx - Connectivity and sync → Pending scan queue: syncs scans
src/hooks/useOffline.js - Connectivity and sync → GPS service: uploads scans
src/hooks/useOffline.js - Pending scan queue → Local storage: stores queue
src/offline/queue.js - Session state → Offline cache: stores profile
src/store/authStore.js - Attendance and DTR → Shared report views: uses
- Completion reports → Shared report views: uses
src/pages/CompletionManage.jsx