How younesbarmaki1809/enterprise-computing-project works
This is a document-management system with a React client and Spring/Python services. Users authenticate, browse department-scoped documents, inspect details, and work with files and comments; administrators also manage users, departments, and categories. The backend separates authentication, document metadata and file handling, versioning, and comments, with gateway/ESB and translation components also present. The excerpts establish several backend calls, but the README is empty and many modules were not sampled, so uncertain integrations are shown only as unverified dashed links or omitted.
Main entry points: DocumentController.java Document API · App.jsx Route application · DocumentService.java Document service · DocumentVersionController.java Version API
Components 24
Web client
- Route application
Frontend/src/App.jsx - Auth context
Frontend/src/context/AuthContext.jsx - Document pages
Frontend/src/pages/Documents - Admin pages
Frontend/src/pages/Admin - Login page
Frontend/src/pages/Login/LoginPage.jsx
Identity
- Auth endpoints
Backend/auth-service/src/main/java/com/dms/auth/controller/AuthController.java - User service
Backend/auth-service/src/main/java/com/dms/auth/service/UserService.java - User repository
Backend/auth-service/src/main/java/com/dms/auth/repository/UserRepository.java - JWT security
Backend/auth-service/src/main/java/com/dms/auth/security/JwtUtil.java
Document management
- Document API
Backend/documents-service/src/main/java/com/ensia/documents_service/controller/DocumentController.java - Document service
Backend/documents-service/src/main/java/com/ensia/documents_service/service/DocumentService.java - Document store
Backend/documents-service/src/main/java/com/ensia/documents_service/repository/DocumentRepository.java - File storage service
Backend/documents-service/src/main/java/com/ensia/documents_service/service/S3Service.java - Version API
Backend/documents-service/src/main/java/com/ensia/documents_service/controller/DocumentVersionController.java - Version store
Backend/documents-service/src/main/java/com/ensia/documents_service/repository/DocumentVersionRepository.java
Collaboration and integration
- Comments API
Backend/comments-service/src/main/java/com/ensia/comments_service/controller/CommentController.java - Comment service
Backend/comments-service/src/main/java/com/ensia/comments_service/service/CommentService.java - Comment store
Backend/comments-service/src/main/java/com/ensia/comments_service/repository/CommentRepository.java
Platform services
- API gateway
Backend/gateway-service/src/main/java/com/ensia/gateway_service/GatewayServiceApplication.java - Document ESB
Backend/esb-service/src/main/java/com/ensia/esb_service/integration/DocumentIntegrationFlow.java - Translator
Backend/translator-service/app/main.py - Document events
Backend/documents-service/src/main/java/com/ensia/documents_service/service/DocumentEventPublisher.java
Other components
- User
- S3 object storage
Connections 25
- User → Route application: uses
- Route application → Login page: routes to
Frontend/src/App.jsx - Route application → Document pages: routes to
Frontend/src/App.jsx - Route application → Admin pages: routes to
Frontend/src/App.jsx - Route application → Auth context: mounts
- Login page → Auth endpoints: authenticates
- Document pages → Document API: requests documents
- Admin pages → Document API: manages metadata
- Auth endpoints → User service: delegates to
Backend/auth-service/src/main/java/com/dms/auth/controller/AuthController.java - Auth endpoints → JWT security: issues token
Backend/auth-service/src/main/java/com/dms/auth/controller/AuthController.java - User service → User repository: reads and writes
Backend/auth-service/src/main/java/com/dms/auth/service/UserService.java - Document API → Document service: delegates to
Backend/documents-service/src/main/java/com/ensia/documents_service/controller/DocumentController.java - Document service → Document store: reads and writes
Backend/documents-service/src/main/java/com/ensia/documents_service/service/DocumentService.java - Document service → File storage service: stores files
Backend/documents-service/src/main/java/com/ensia/documents_service/service/DocumentService.java - File storage service → S3 object storage: uploads and fetches
- Version API → Version store: reads and writes
Backend/documents-service/src/main/java/com/ensia/documents_service/controller/DocumentVersionController.java - Version API → Document store: checks document
Backend/documents-service/src/main/java/com/ensia/documents_service/controller/DocumentVersionController.java - Version API → File storage service: creates download URL
Backend/documents-service/src/main/java/com/ensia/documents_service/controller/DocumentVersionController.java - Document API → Comments API: fetches comments
Backend/documents-service/src/main/java/com/ensia/documents_service/controller/DocumentController.java - Comments API → Comment service: delegates to
Backend/comments-service/src/main/java/com/ensia/comments_service/controller/CommentController.java - Comment service → Comment store: reads and writes
Backend/comments-service/src/main/java/com/ensia/comments_service/service/CommentService.java - Document service → Document events: publishes upload event
Backend/documents-service/src/main/java/com/ensia/documents_service/service/DocumentService.java - API gateway → Document API: routes requests
- Document ESB → Document API: integrates documents
- Translator → Document service: translates documents