How charlesjythambrad/itams_project works
ITAMS is a role-segregated IT asset custody and lifecycle platform backed by Supabase. Users sign in through the shared authentication context; guarded routes then dispatch them to ITSD, inventory-staff, or end-user workspaces. Inventory staff manage asset records, assignments and borrowing, repairs, and warranty views; ITSD provides administration and user management, while end users have a personal custody dashboard. The sampled authentication and global search code directly confirms Supabase interactions; the README and route registry establish the broader role and capability map, but unsampled page-level data wiring is not inferred.
Main entry points: AppRoutes.jsx Route registry · GlobalInventorySearch.jsx Global inventory search · AuthContext.jsx Auth provider · App.jsx Application root
Components 19
App and access
- Application root
src/App.jsx - Route registry
src/routes/AppRoutes.jsx - Protected routes
src/routes/ProtectedRoute.jsx - Login interface
src/pages/LoginPage.jsx
Identity and roles
- Auth provider
src/context/AuthContext.jsx - Supabase client
src/lib/supabaseClient.js - Role metadata
src/hooks/useUserRole.js
Asset operations
- Asset management
src/pages/inventory_staff/AssetsPage.jsx - Assignments and returns
src/pages/inventory_staff/BorrowedReturnPage.jsx - Repair tracking
src/pages/inventory_staff/RepairsPage.jsx - Warranty tracking
src/pages/inventory_staff/WarrantyPage.jsx - Global inventory search
src/components/inventory/GlobalInventorySearch.jsx
Role workspaces
- Role dashboard dispatch
src/pages/DashboardPage.jsx - ITSD console
src/pages/itsd - User administration
src/pages/itsd/UserManagementPage.jsx - Inventory console
src/pages/inventory_staff - End-user custody
src/pages/end_users
Other components
- Platform users
- Supabase Auth and Postgres
Connections 25
- Platform users → Application root: opens
- Application root → Auth provider: provides auth
- Application root → Route registry: renders routes
- Route registry → Login interface: routes sign-in
- Login interface → Auth provider: signs in
- Auth provider → Supabase client: uses client
- Supabase client → Supabase Auth and Postgres: auth and queries
- Supabase Auth and Postgres → Auth provider: session and records
- Route registry → Protected routes: guards access
- Protected routes → Auth provider: checks session
- Route registry → Role dashboard dispatch: routes dashboard
- Role dashboard dispatch → Role metadata: resolves role
- Route registry → ITSD console: routes ITSD
- Route registry → User administration: routes admin
- Route registry → Inventory console: routes staff
- Route registry → End-user custody: routes end user
- Route registry → Asset management: routes assets
- Route registry → Assignments and returns: routes custody
- Route registry → Repair tracking: routes repairs
- Route registry → Warranty tracking: routes warranty
- Inventory console → Global inventory search: offers search
- Global inventory search → Supabase client: queries records
- Global inventory search → Asset management: navigates results
- Global inventory search → Assignments and returns: navigates results
- Global inventory search → Repair tracking: navigates results