How riteshd11/secure-digital-document-management-system works
Secure-DMS is a case-oriented evidence document system: users submit files, which the backend validates and scans, fingerprints and signs, stores as objects with indexed metadata, and audits. Retrieval checks stored content against its integrity metadata and signature before delivery. The README also documents version/type locking and forensic auditing; the tree indicates access control, identity, search, face verification, timestamps, and blockchain custody features. Upload, storage, cryptography, and audit wiring is supported by sampled source and README; several other subsystem links are omitted where invocation details were not sampled.
Main entry points: DocumentUploadService.java Upload pipeline · DocumentController.java Document API · DocumentDownloadService.java Download service · DocumentVerificationService.java Document verification
Components 27
User interface
- Web application
frontend/app/page.tsx - API client
frontend/src/services/api.js
Backend API
- Document API
backend/src/main/java/com/security_management/backend/controller/DocumentController.java - Access API
backend/src/main/java/com/security_management/backend/controller/DocumentAccessController.java - Upload pipeline
backend/src/main/java/com/security_management/backend/service/DocumentUploadService.java - Download service
backend/src/main/java/com/security_management/backend/service/DocumentDownloadService.java - Document verification
backend/src/main/java/com/security_management/backend/service/DocumentVerificationService.java - Access control
backend/src/main/java/com/security_management/backend/service/DocumentAccessService.java - Document search
backend/src/main/java/com/security_management/backend/service/FastApiService.java - Face verification
backend/src/main/java/com/security_management/backend/service/FaceVerificationService.java
Document security
- File validation
backend/src/main/java/com/security_management/backend/validation/FileValidationService.java - Malware scanning
backend/src/main/java/com/security_management/backend/malware/MalwareScanService.java - Hashing
backend/src/main/java/com/security_management/backend/hashing/HashService.java - Digital signatures
backend/src/main/java/com/security_management/backend/signature/DigitalSignatureService.java - Trusted timestamp
backend/src/main/java/com/security_management/backend/timestamp/RFC3161Service.java - Encryption services
backend/src/main/java/com/security_management/backend/encryption/EncryptionService.java
Records and integrations
- Storage abstraction
backend/src/main/java/com/security_management/backend/storage/StorageService.java - MinIO storage
backend/src/main/java/com/security_management/backend/storage/MinioStorageService.java - Document metadata
backend/src/main/java/com/security_management/backend/repository/DocumentRepository.java - Audit service
backend/src/main/java/com/security_management/backend/audit/AuditService.java - Audit records
backend/src/main/java/com/security_management/backend/repository/AuditLogRepository.java - Custody ledger
backend/src/main/java/com/security_management/backend/blockchain/BlockchainService.java - Fabric chaincode
blockchain/chaincode/document_chaincode.go
Other components
- User
- MinIO S3
- MySQL
- Search service
Connections 28
- User → Web application: uses
- Web application → API client: submits requests
- API client → Document API: calls
- Document API → Upload pipeline: uploads
- Document API → Download service: requests files
- Document API → Document verification: requests checks
- Access API → Access control: manages access
- Upload pipeline → File validation: validates
- Upload pipeline → Malware scanning: scans
- Upload pipeline → Hashing: fingerprints
- Upload pipeline → Digital signatures: signs
- Upload pipeline → Trusted timestamp: timestamps
- Upload pipeline → Storage abstraction: stores object
- Upload pipeline → Document metadata: saves metadata
- Upload pipeline → Audit service: records event
- Upload pipeline → Custody ledger: anchors record
- Storage abstraction → MinIO storage: implemented by
- MinIO storage → MinIO S3: stores objects
- Document metadata → MySQL: persists metadata
- Download service → Storage abstraction: retrieves object
- Download service → Document metadata: reads metadata
- Download service → Document verification: checks integrity
- Document verification → Hashing: recomputes digest
- Document verification → Digital signatures: verifies signature
- Audit service → Audit records: saves logs
- Audit records → MySQL: persists audit
- Custody ledger → Fabric chaincode: records custody
- Document search → Search service: queries