How vikasvikas5380-debug/proofpath works
ProofPath is an evidence-registration and chain-of-custody application, with a React web client and an Express API. Users register or sign in, upload evidence for SHA-256 fingerprinting and storage, and can later verify a file or review its activity history. Investigator and admin workflows add decisions and user management; public token-based verification is also supported. The graph covers sampled client/server code and documented routes. The mobile tree contains native platform scaffolding but no sampled application runtime, so it is not mapped. Several controller-to-model links are supported by the SOURCE INDEX; unsampled behavior is not inferred.
Main entry points: evidenceRoutes.js Evidence routes · server.js Express server · authMiddleware.js Authentication guards · Evidence.js Evidence records
Components 20
Web client
- Application UI
client/src/App.jsx - Admin dashboard
client/src/AdminDashboard.jsx - HTTP client
client/src/api/axios.js
API routing
- Express server
server/server.js - Auth routes
server/routes/authRoutes.js - Evidence routes
server/routes/evidenceRoutes.js - Admin routes
server/routes/adminRoutes.js - Database connection
server/config/db.js
Evidence workflows
- Evidence registration and verification
server/controllers/evidenceController.js - Investigator review
server/controllers/investigatorController.js - Activity history
server/controllers/historyController.js - Evidence records
server/models/Evidence.js - Upload handling
server/middleware/uploadMiddleware.js - Cloudinary storage
server/config/cloudinary.js
Identity and administration
- Authentication guards
server/middleware/authMiddleware.js - Account access
server/controllers/authController.js - Admin operations
server/controllers/adminController.js - User records
server/models/User.js
Other components
- User
- Cloudinary
Connections 26
- User → Application UI: uses
- Application UI → HTTP client: sends requests
client/src/App.jsx - Application UI → Admin dashboard: renders
client/src/App.jsx - Express server → Auth routes: mounts
server/server.js - Express server → Evidence routes: mounts
server/server.js - Express server → Admin routes: mounts
server/server.js - Express server → Database connection: connects through
server/server.js - Auth routes → Account access: dispatches
server/routes/authRoutes.js - Auth routes → Authentication guards: protects profile
server/routes/authRoutes.js - Evidence routes → Authentication guards: guards access
server/routes/evidenceRoutes.js - Evidence routes → Upload handling: handles uploads
server/routes/evidenceRoutes.js - Evidence routes → Evidence registration and verification: dispatches
server/routes/evidenceRoutes.js - Evidence routes → Activity history: dispatches
server/routes/evidenceRoutes.js - Evidence routes → Investigator review: dispatches
server/routes/evidenceRoutes.js - Admin routes → Authentication guards: guards access
server/routes/adminRoutes.js - Admin routes → Admin operations: dispatches
server/routes/adminRoutes.js - Account access → User records: reads and writes
server/controllers/authController.js - Authentication guards → User records: loads account
server/middleware/authMiddleware.js - Admin operations → User records: manages users
server/controllers/adminController.js - Admin operations → Evidence records: counts evidence
server/controllers/adminController.js - Evidence registration and verification → Evidence records: reads and writes
server/controllers/evidenceController.js - Evidence registration and verification → Cloudinary storage: uploads files
server/controllers/evidenceController.js - Cloudinary storage → Cloudinary: stores files
- Investigator review → Evidence records: reviews records
server/controllers/investigatorController.js - Activity history → Evidence records: reads history
server/controllers/historyController.js - HTTP client → Express server: calls API