Skip to main content

Technical Architecture Overview

Summary​

Onboarding is split between an extracted Recruitment service and a legacy compatibility path, while offboarding remains in monolith HR Operations. The gateway can select Recruitment ownership, but no shared lifecycle coordinator exists.

Audience​

Developers, QA, support, security reviewers, and solution architects.

Architecture​

Ownership and boundaries​

BoundaryVerified ownership
Offer acceptance and extracted onboardingRecruitment Service Domain/Application/Infrastructure/API folders
Compatibility onboardingEither Recruitment compatibility adapters or monolith Recruitment controller, selected by gateway routing
Employee master initializationEmployee Service on extracted path; monolith labor/user service on legacy path
Exit request, decisions, rollback, revokeMonolith HR Operations controller and monolith persistence
Generic onboarding taskMonolith HR Operations model/controller
Payroll and Leave readiness dataConsumer-owned projections from Employee lifecycle events
Attendance readinessSeparate Attendance profile/policy implementation; direct lifecycle wiring remains unresolved
Asset clearanceAsset Service read model; no exit invocation

Technical maturity​

The dedicated Recruitment service is layered and owns onboarding persistence, commands, queries, audit/timeline, and transactional outbox behavior. Offboarding remains controller-centric in the monolith. Compatibility routing permits runtime ownership changes without frontend changes, but completion semantics differ. No shared transaction spans Recruitment, Employee, downstream services, and HR Operations.

Confirmed exclusions​

No standalone onboarding/offboarding host, shared lifecycle database, distributed transaction, saga, orchestration engine, cross-domain readiness aggregate, offboarding service, or automatic reconciliation worker was found.

Requires confirmation​

  • Final ownership and retirement criteria for the legacy Recruitment path.
  • Required cross-domain coordination and reconciliation responsibilities.
  • Whether offboarding will remain a monolith capability.

Source References​

  • microservices/src/recruitment-service/Program.cs
  • microservices/src/recruitment-service/Application/Commands/OnboardingCommands.cs
  • microservices/src/recruitment-service/Infrastructure/RecruitmentDbContext.cs
  • Controllers/RecruitmentController.cs
  • Controllers/HrOperationsController.cs
  • microservices/src/gateway-api/Program.cs
  • microservices/src/payroll-service/Messaging/PayrollReadModelConsumer.cs
  • microservices/src/leave-service/Messaging/EmployeeProfileConsumer.cs
  • microservices/src/asset-service/Application/Queries/AssetQueries.cs

See Also​

Keywords​

  • Service ownership
  • Lifecycle architecture
  • Transitional extraction

Revision Information​

  • Status: Draft
  • Last reviewed: 2026-07-20
  • Review cycle: Quarterly