How bcgov/unity works
Unity Grant Manager is a government grant-management platform for application intake, assessment, approvals, payments, reporting, and notifications. The principal workflow takes applications through adjudication and payment; the repository also includes applicant-profile and attachment services, configurable forms and score sheets, and an AI module. The README documents the end-to-end capabilities, while sampled source confirms selected workflow, attachment, profile, notification, and AI behavior. Some subsystem links are therefore omitted where the available excerpts do not establish their runtime wiring.
Main entry points: GrantApplications Application Intake · ApplicationManager.cs Application Workflow · Unity.GrantManager.EntityFrameworkCore Application Data · AttachmentController.cs Attachments
Components 19
Intake and Profiles
- Application Intake
applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantApplications - Applicant Profile
applications/Unity.GrantManager/src/Unity.GrantManager.Application/ApplicantProfile/Queries/ApplicantProfileQueryService.cs - Attachments
applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Controllers/AttachmentController.cs - Forms and Submissions
applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Application.Contracts
Review and Decisions
- Application Workflow
applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/ApplicationManager.cs - Assessment
applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Application.Contracts/Scoresheets - Approvals
applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/ApplicationManager.cs - Payments
applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Domain/Services/PaymentRequestQueryManager.cs
Platform Services
- Reporting
applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Web/Pages/AIReporting/Index.cshtml.cs - Notifications
applications/Unity.GrantManager/src/Unity.GrantManager.Web/Controllers/FormNotificationsApiController.cs - Application Data
applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore
AI Generation
- AI Generation Queue
applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Generation/IApplicationGenerationQueue.cs - AI Operations
applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Operations - AI Runtime
applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Runtime/Execution/OpenAIRuntimeService.cs - Intake AI Handler
applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantApplications/Automation/Generation/Handlers/QueueApplicationAIPipelineOnProcessHandler.cs
Other components
- Applicant
- S3 Object Storage
- Email Service
- OpenAI
Connections 17
- Applicant → Application Intake: submits application
- Application Intake → Forms and Submissions: uses form data
- Application Intake → Application Workflow: processes application
- Application Workflow → Assessment: advances to review
- Application Workflow → Approvals: supports decisions
- Approvals → Payments: authorizes payment
- Application Intake → Applicant Profile: resolves profile data
- Attachments → S3 Object Storage: reads and writes files
- Attachments → Application Data: retrieves file blobs
- Notifications → Email Service: manages email notices
- Application Intake → Intake AI Handler: raises process event
- Intake AI Handler → AI Generation Queue: queues intake
- AI Generation Queue → AI Operations: dispatches generation
- AI Operations → AI Runtime: executes operations
- AI Runtime → OpenAI: sends model requests
- Application Workflow → Application Data: loads application state
- Payments → Application Data: queries payment data