How asherdoestechs/docuguard works
DocuGuard is an offline-first mobile document lifecycle manager with an Express backend and a separate admin client. The main user flow is to authenticate, add and organize documents, view their status, and receive expiry reminders; local data can synchronize with cloud services. The README also describes search, profiles, dashboard summaries, and document security. Edges reflect excerpted calls or explicit documentation; unsampled route and admin wiring is not asserted.
Main entry points: index.tsx Mobile Client · documentController.js Document Management · syncService.ts Sync Service · authController.js User Authentication
Components 26
Mobile App
- Mobile Client
app/(tabs)/index.tsx
API Backend
- User Authentication
DocuGuard-Server/controllers/authController.js - Auth Routes
DocuGuard-Server/routes/auth.js - Document Management
DocuGuard-Server/controllers/documentController.js - User Profile
DocuGuard-Server/controllers/profileController.js - Lifecycle Logic
DocuGuard-Server/services/logicEngine.js - REST API
DocuGuard-Server/app.js - Expiry Monitoring
DocuGuard-Server/jobs/expirationChecker.js - Reminders
DocuGuard-Server/controllers/reminderController.js - Document Search
DocuGuard-Server/controllers/searchController.js - Backup Service
DocuGuard-Server/services/backupService.js - Audit Logging
DocuGuard-Server/services/auditService.js - Error Codes
DocuGuard-Server/utils/errorCodes.js
Offline Sync
- Local Documents
services/localDatabase.ts - Sync Service
services/syncService.ts - Sync Policy
shared/sync/syncPolicy.js - Revision Rules
shared/sync/serverRevision.js - Shared Validation
shared/validation/schemas.ts
Data Platform
- PostgreSQL
DocuGuard-Server/config/db.js - Document Storage
DocuGuard-Server/services/storageService.js - Supabase Storage
DocuGuard-Server/config/supabase.js - Server Sync
DocuGuard-Server/services/dataSyncService.js - Realtime Updates
DocuGuard-Server/services/realtimeService.js - Data Encryption
DocuGuard-Server/services/cryptoService.js
Admin Console
- Admin Client
DocuGuard-Admin/src/app/dashboard.tsx
Other components
- Document User
Connections 27
- Document User → Mobile Client: uses
README.md - Mobile Client → Local Documents: loads dashboard data
app/(tabs)/index.tsx - Mobile Client → REST API: uses REST API
README.md - REST API → Auth Routes: mounts routes
DocuGuard-Server/app.js - Auth Routes → User Authentication: routes to
DocuGuard-Server/routes/auth.js - User Authentication → PostgreSQL: queries
DocuGuard-Server/controllers/authController.js - User Authentication → Shared Validation: validates with
DocuGuard-Server/controllers/authController.js - User Authentication → Error Codes: reports codes
DocuGuard-Server/controllers/authController.js - Document Management → PostgreSQL: reads and writes
DocuGuard-Server/controllers/documentController.js - Document Management → Document Storage: uses
DocuGuard-Server/controllers/documentController.js - Document Management → Server Sync: syncs changes
DocuGuard-Server/controllers/documentController.js - Document Management → Shared Validation: validates with
DocuGuard-Server/controllers/documentController.js - Document Storage → Supabase Storage: stores objects
DocuGuard-Server/services/storageService.js - Server Sync → PostgreSQL: queries
DocuGuard-Server/services/dataSyncService.js - Server Sync → Realtime Updates: publishes updates
DocuGuard-Server/services/dataSyncService.js - Server Sync → Data Encryption: uses
DocuGuard-Server/services/dataSyncService.js - Sync Service → Local Documents: reads and updates
services/syncService.ts - Sync Service → REST API: sends sync requests
services/syncService.ts - Sync Service → Sync Policy: applies rules
services/syncService.ts - Sync Service → Revision Rules: resolves revisions
- Document User → Admin Client: administers
- Mobile Client → Expiry Monitoring: monitors expiry
- Mobile Client → Reminders: manages reminders
- Mobile Client → Document Search: searches documents
- Mobile Client → User Profile: manages profile
- Mobile Client → Backup Service: backs up data
- Mobile Client → Audit Logging: records activity