How paudel-milan/esignature-platform_microservices works
This repository implements a document e-signature platform split across authentication, document storage, and signing services. The main workflow is: users register or log in, upload and retrieve documents, invite signers, then sign through an emailed link; signing produces an updated PDF and document status. The sampled source supports the service-level calls and event publication shown here. The README is empty, and unsampled listener and controller wiring is left out where it cannot be verified.
Main entry points: SigningService.java Signing service · DocumentController.java Document API · AuthService.java Auth service · DocumentService.java Document service
Components 23
Authentication
- Auth API
auth-service/src/main/java/com/esignature/auth_service/auth/controller/AuthController.java - Auth service
auth-service/src/main/java/com/esignature/auth_service/auth/service/AuthService.java - JWT service
auth-service/src/main/java/com/esignature/auth_service/auth/service/JwtService.java - User repository
auth-service/src/main/java/com/esignature/auth_service/user/repository/UserRepository.java - User store
Documents
- Document API
document-service/src/main/java/com/esignature/document_service/document/controller/DocumentController.java - Document service
document-service/src/main/java/com/esignature/document_service/document/service/DocumentService.java - Document repository
document-service/src/main/java/com/esignature/document_service/document/repository/DocumentRepository.java - Document store
- Object storage service
document-service/src/main/java/com/esignature/document_service/storage/StorageService.java - MinIO
- Document event listener
document-service/src/main/java/com/esignature/document_service/document/service/DocumentEventListener.java
Signing
- Signing API
signing-service/src/main/java/com/esignature/signing_service/signing/controller/SigningController.java - Signing service
signing-service/src/main/java/com/esignature/signing_service/signing/service/SigningService.java - Sign request repository
signing-service/src/main/java/com/esignature/signing_service/signing/repository/SignRequestRepository.java - PDF signer
signing-service/src/main/java/com/esignature/signing_service/signing/service/PdfSigningService.java - Document client
signing-service/src/main/java/com/esignature/signing_service/signing/client/DocumentClient.java
Shared infrastructure
- Audit service
signing-service/src/main/java/com/esignature/signing_service/common/service/AuditService.java - Audit repository
signing-service/src/main/java/com/esignature/signing_service/common/repository/AuditLogRepository.java - Email service
signing-service/src/main/java/com/esignature/signing_service/common/service/EmailService.java - Mail provider
- Kafka
Other components
- User
Connections 23
- User → Auth API: registers or logs in
- Auth API → Auth service: handles request
- Auth service → User repository: reads and saves
- User repository → User store: persists users
- Auth service → JWT service: generates token
- User → Document API: uploads or retrieves
- Document API → Document service: uploads or lists
- Document API → Document repository: looks up document
- Document API → Object storage service: downloads or uploads signed file
- Document service → Object storage service: uploads file
- Document service → Document repository: saves or lists
- Object storage service → MinIO: reads and writes objects
- Signing API → Signing service: handles signing request
- Signing service → Sign request repository: saves and finds requests
- Signing service → Document client: fetches document
- Signing service → Email service: sends signing invite
- Email service → Mail provider: sends email
- Signing service → PDF signer: signs PDF
- PDF signer → Document client: downloads and uploads PDF
- Signing service → Kafka: publishes status event
- Signing service → Audit service: records signature
- Audit service → Audit repository: saves audit log
- Kafka → Document event listener: dispatches update