How albincodenzic/codenzic-workspace works
Codenzic Workspace is a Spring Boot modular monolith for multi-tenant workforce and project operations. Users authenticate into an organization-scoped workspace, then manage people and teams, coordinate projects and tasks, record attendance, leave and end-of-day reports, and communicate; dashboards and reports expose operational results. The graph keeps these as distinct business areas and shows the sampled service-to-repository and service-to-service calls. Other module capabilities are represented from the package tree and README; their detailed runtime wiring was not sampled.
Main entry points: AuditLogService.java Audit log · EmployeeRepository.java Employee records · LeaveService.java Leave management · TaskService.java Tasks and history
Components 27
Identity and tenancy
- Auth API
src/main/java/com/codenzic/workspace/identity/presentation/AuthController.java - Authentication
src/main/java/com/codenzic/workspace/identity/application/AuthService.java - Identity records
src/main/java/com/codenzic/workspace/identity/infrastructure/UserRepository.java - Organizations
src/main/java/com/codenzic/workspace/organization/application/OrganizationService.java - Organization records
src/main/java/com/codenzic/workspace/organization/infrastructure/OrganizationRepository.java - Roles and permissions
src/main/java/com/codenzic/workspace/identity/application/RoleService.java
Workforce management
- People APIs
src/main/java/com/codenzic/workspace/employee/presentation/EmployeeController.java - Employee profiles
src/main/java/com/codenzic/workspace/employee/application/EmployeeService.java - Employee records
src/main/java/com/codenzic/workspace/employee/infrastructure/EmployeeRepository.java - Departments and teams
src/main/java/com/codenzic/workspace/team/application/TeamService.java - Attendance
src/main/java/com/codenzic/workspace/attendance/application/AttendanceService.java - Attendance records
src/main/java/com/codenzic/workspace/attendance/infrastructure/AttendanceRepository.java - Leave management
src/main/java/com/codenzic/workspace/leave/application/LeaveService.java - Leave records
src/main/java/com/codenzic/workspace/leave/infrastructure/LeaveRequestRepository.java
Projects and operations
- Projects and membership
src/main/java/com/codenzic/workspace/project/application/ProjectService.java - Project records
src/main/java/com/codenzic/workspace/project/infrastructure/ProjectRepository.java - Tasks and history
src/main/java/com/codenzic/workspace/task/application/TaskService.java - Task records
src/main/java/com/codenzic/workspace/task/infrastructure/TaskRepository.java - End-of-day reports
src/main/java/com/codenzic/workspace/eod/application/EodService.java - EOD records
src/main/java/com/codenzic/workspace/eod/infrastructure/EodReportRepository.java
Communication
- Announcements and messaging
src/main/java/com/codenzic/workspace/communication/application/AnnouncementService.java - Notifications
src/main/java/com/codenzic/workspace/communication/application/NotificationService.java
Insights and audit
- Dashboard
src/main/java/com/codenzic/workspace/dashboard/application/DashboardService.java - Operational reports
src/main/java/com/codenzic/workspace/report/application/ReportService.java - Audit log
src/main/java/com/codenzic/workspace/audit/application/AuditLogService.java - Audit records
src/main/java/com/codenzic/workspace/audit/infrastructure/AuditLogRepository.java
Other components
- Workspace user
Connections 46
- Workspace user → Auth API: submits credentials
- Auth API → Authentication: delegates auth
- Authentication → Identity records: reads and writes
- Authentication → Organization records: checks active tenant
- Authentication → Audit log: records login
- Workspace user → Organizations: manages tenant
- Organizations → Organization records: reads and writes
- Organizations → Roles and permissions: ensures default roles
- Organizations → Audit log: records changes
- Workspace user → People APIs: manages employees
- People APIs → Employee profiles: delegates requests
- Employee profiles → Employee records: reads and writes
- Employee profiles → Identity records: validates user
- Employee profiles → Audit log: records changes
- Workspace user → Departments and teams: organizes teams
- Departments and teams → Employee records: validates membership
- Workspace user → Attendance: records time
- Attendance → Attendance records: reads and writes
- Attendance → Employee records: resolves employee
- Attendance → Audit log: records punches
- Workspace user → Leave management: requests or reviews leave
- Leave management → Leave records: reads and writes
- Leave management → Employee records: validates employee
- Leave management → Notifications: sends updates
- Leave management → Audit log: records activity
- Workspace user → Projects and membership: manages projects
- Projects and membership → Project records: reads and writes
- Projects and membership → Employee records: validates manager
- Projects and membership → Audit log: records changes
- Workspace user → Tasks and history: manages tasks
- Tasks and history → Task records: reads and writes
- Tasks and history → Employee records: validates assignee
- Tasks and history → Audit log: records activity
- Tasks and history → Notifications: sends updates
- Workspace user → End-of-day reports: submits and reviews
- End-of-day reports → EOD records: reads and writes
- End-of-day reports → Audit log: records activity
- Workspace user → Announcements and messaging: publishes or reads
- Announcements and messaging → Notifications: creates notifications
- Announcements and messaging → Audit log: records publication
- Workspace user → Dashboard: views overview
- Dashboard → Attendance records: reads attendance
- Dashboard → Audit log: reads recent activity
- Workspace user → Operational reports: requests reports
- Operational reports → Employee records: queries workforce data
- Audit log → Audit records: reads and writes