How mouryaprashant/edms works
This is a React railway directory for browsing and maintaining a Division → Section → Station hierarchy and its linked documents. Users filter or search the directory, expand station rows to inspect categorized documents and revision history, and open document links. Editors and admins manage directory records; admins also authenticate and manage users. The principal flow is UI actions through App.jsx into data and auth hooks, which use Supabase; station document uploads use a separate Google Drive integration. Some modal and database details are documented but their source was not sampled, so uncertain wiring is omitted.
Main entry points: App.jsx App orchestration · supabaseClient.js Supabase platform · StationModal.jsx Station editor · useRailwayData.js Directory operations
Components 20
Directory experience
- App orchestration
src/App.jsx - Search and account
src/components/TopNav.jsx - Directory controls
src/components/Toolbar.jsx - Division navigation
src/components/Sidebar.jsx - Section display
src/components/SectionCard.jsx - Station documents
src/components/StationRow.jsx - Document actions
src/components/DocBadge.jsx - Station editor
src/components/modals/StationModal.jsx - Section editor
src/components/modals/SectionModal.jsx - Version history
src/components/modals/VersionHistoryModal.jsx
Directory data
- Directory operations
src/hooks/useRailwayData.js - Document normalization
src/utils/normalize.js
Identity and access
- Authentication and roles
src/hooks/useAdmin.js - Admin sign-in
src/components/modals/AdminAuthModal.jsx - User management
src/components/modals/UserManagementModal.jsx - User admin function
supabase/functions/user-management/index.ts
External services
- Supabase platform
src/supabaseClient.js - Drive upload
src/utils/googleDrive.js
Other components
- Directory user
- Google Drive
Connections 28
- Directory user → App orchestration: uses
- App orchestration → Search and account: renders
- App orchestration → Directory controls: renders
- App orchestration → Division navigation: renders
- App orchestration → Section display: renders
- Section display → Station documents: renders
- Station documents → Document actions: renders
- App orchestration → Station editor: renders
- App orchestration → Section editor: renders
- App orchestration → Version history: renders
- App orchestration → Admin sign-in: renders
- App orchestration → User management: renders
- Search and account → App orchestration: dispatches actions
- Directory controls → App orchestration: dispatches actions
- Division navigation → App orchestration: dispatches filters
- Station editor → App orchestration: submits edits
- Section editor → App orchestration: submits edits
- App orchestration → Directory operations: calls operations
- Directory operations → Supabase platform: reads and writes
- Directory operations → Document normalization: normalizes documents
- App orchestration → Authentication and roles: calls auth actions
- Admin sign-in → App orchestration: submits credentials
- Authentication and roles → Supabase platform: authenticates and reads roles
- User management → User admin function: admin requests
- User admin function → Supabase platform: manages users and roles
- Station editor → Drive upload: uploads files
- Drive upload → Google Drive: authorizes and uploads
- Supabase platform → Supabase platform: stores directory and roles