How daiki0918/assets-inventory works
Cosmopolitan Asset Register is a web application for tracking physical assets across branches. Staff sign in, register or import individually tracked assets, manage operational workflows, and review reports; QR scanning supports monthly physical inventory. The React client routes users to these workflows and calls the Express service, which uses MongoDB models for persistent records. The README also documents quantity-based registration/import and email password recovery. Server internals were not excerpted, so service-to-model wiring is supported by the source index, while client-to-server routing is documented only at a high level.
Main entry points: App.jsx Route shell · api.js API client · Assets.jsx Asset register · Login.jsx Sign-in
Components 21
Client application
- Route shell
client/src/App.jsx - Sign-in
client/src/pages/Login.jsx - Auth context
client/src/context/AuthContext.jsx - API client
client/src/lib/api.js
Asset operations
- Asset register
client/src/pages/Assets.jsx - Asset form
client/src/components/AssetModal.jsx - Excel import
client/src/components/ImportModal.jsx - Physical inventory
client/src/pages/Inventory.jsx - QR labels
client/src/components/QrLabelsModal.jsx - Transfers
client/src/pages/Transfers.jsx - Maintenance
client/src/pages/Maintenance.jsx - Alerts
client/src/pages/Alerts.jsx
Administration and insight
- Dashboard
client/src/pages/Dashboard.jsx - Reports
client/src/pages/Reports.jsx - Audit history
client/src/pages/Audit.jsx - Branch and user admin
client/src/pages/Branches.jsx - Asset profile
client/src/pages/Profile.jsx
API and persistence
- API service
server/server.js - Domain models
server/models.js - MongoDB
Other components
- Staff user
Connections 33
- Staff user → Route shell: uses
client/src/App.jsx - Route shell → Sign-in: routes
client/src/App.jsx - Route shell → Asset register: routes
client/src/App.jsx - Route shell → Physical inventory: routes
client/src/App.jsx - Route shell → Transfers: routes
client/src/App.jsx - Route shell → Maintenance: routes
client/src/App.jsx - Route shell → Alerts: routes
client/src/App.jsx - Route shell → Dashboard: routes
client/src/App.jsx - Route shell → Reports: routes
client/src/App.jsx - Route shell → Audit history: routes
client/src/App.jsx - Route shell → Branch and user admin: routes
client/src/App.jsx - Route shell → Asset profile: routes
client/src/App.jsx - Sign-in → API client: requests
client/src/pages/Login.jsx - Route shell → API client: loads metadata
client/src/App.jsx - Route shell → Auth context: provides session
client/src/App.jsx - Asset register → API client: loads and exports
client/src/pages/Assets.jsx - Asset register → Asset form: opens form
client/src/pages/Assets.jsx - Asset form → API client: saves asset
client/src/components/AssetModal.jsx - Asset register → Excel import: opens import
client/src/pages/Assets.jsx - Excel import → API client: submits rows
client/src/components/ImportModal.jsx - Physical inventory → API client: manages sessions
client/src/pages/Inventory.jsx - Asset register → QR labels: opens labels
client/src/pages/Assets.jsx - Transfers → API client: requests operations
client/src/pages/Transfers.jsx - Maintenance → API client: requests operations
client/src/pages/Maintenance.jsx - Alerts → API client: loads alerts
client/src/pages/Alerts.jsx - Dashboard → API client: loads metrics
client/src/pages/Dashboard.jsx - Reports → API client: loads reports
client/src/pages/Reports.jsx - Audit history → API client: loads history
client/src/pages/Audit.jsx - Branch and user admin → API client: manages records
client/src/pages/Branches.jsx - Asset profile → API client: loads asset
client/src/pages/Profile.jsx - API client → API service: HTTP requests
- API service → Domain models: uses models
server/server.js - Domain models → MongoDB: persists records