Added documentation, restructured solution

This commit is contained in:
2026-10-30 10:57:35 +02:00
parent 58f8006ab2
commit 4fa379f74e
29 changed files with 203 additions and 20 deletions
+20 -9
View File
@@ -2,6 +2,8 @@
An enterprise system designed to manage the entire post-funding grant and project lifecycle. PFM provides end-to-end oversight across strategic portfolios, programme allocation, project execution tracking, financial disbursements, monitoring & evaluation (M&E), and candidate notifications.
> **Technology Partner & Technical Authorship**: **Lite Charms (PTY) Ltd** is the official technology partner and author of every technical implementation, system architecture, and maintenance of the Post-Fund Management (PFM) Platform. **Ifri Technologies** is an initiative and entity within **Lite Charms (PTY) Ltd**.
---
## 🏛️ System Architecture & Domain Model
@@ -43,7 +45,7 @@ The application follows a modular, hierarchical architecture where high-level fu
### **6. Model Context Protocol (MCP) — In-App & External Tooling**
* **Central Tool Definitions (`PostFundManagement.Application/Mcp`)**: Tools proxy core domain services organized by business domain (`Grants`, `Projects`, `Execution`, `Governance`, `Evidence`, `Communications`, `Users`).
* **In-App MCP (`PostFundManagement.Api`)**: The API has direct in-process access to tooling via `IInAppMcpClient` without making external web or HTTP calls.
* **In-App MCP (`PostFundManagement.Api` & `PostFundManagement.Jobs`)**: Both the API and Jobs background worker hosts have direct in-process access to tooling via `IInAppMcpClient` without making external web or HTTP calls.
* **External MCP Server (`PostFundManagement.Mcp`)**: Dedicated .NET 10 host serving MCP tools over HTTP/SSE (`/mcp`) and Stdio (`--stdio`) for external agents, Claude Desktop, and IDEs.
* **Token Optimization**: Standardized `McpToolResult` models minimize prompt token overhead.
* **Agent Status**: Tooling infrastructure is established; agent definitions are deferred to future milestones.
@@ -78,6 +80,7 @@ The application follows a modular, hierarchical architecture where high-level fu
* **Frontend Portals**:
* `PostFundManagement.ConsoleUI`: Internal Staff & Portfolio Administration Portal (React 19 + TypeScript + Vite + Tailwind CSS)
* `PostFundManagement.PartnerUI`: External Recipient & Grantee Portal (React 19 + TypeScript + Vite + WebGL OGL)
* `PostFundManagement.ShowcaseUI`: Public-Facing Product & Experience Showcase Portal (React 19 + TypeScript + Vite + Tailwind CSS)
* **Database**: PostgreSQL 14+ with Npgsql & EF Core 10
* **Security & Authentication**: Duende IdentityServer / OIDC PKCE + Claim-Based RBAC
* **Governance Patterns**: Maker-Checker Pattern (Dual Authorization & Segregation of Duties)
@@ -113,8 +116,8 @@ To eliminate conflicts of interest, record creators ("Makers") cannot approve ("
$$\text{Can Approve} = \text{Has 'update' permission} \land (\text{Current User ID} \neq \text{Record Creator ID})$$
For in-depth architectural and operational specifications, see:
* [Architecture.md](file:///c:/Users/Admin/source/repos/PostFundManagement/Architecture.md)
* [Processes.md](file:///c:/Users/Admin/source/repos/PostFundManagement/Processes.md)
* [Architecture.md](file:///c:/Users/Admin/source/repos/PostFundManagement/Documentation/Architecture.md)
* [Processes.md](file:///c:/Users/Admin/source/repos/PostFundManagement/Documentation/Processes.md)
* [GEMINI.md](file:///c:/Users/Admin/source/repos/PostFundManagement/GEMINI.md)
---
@@ -125,14 +128,19 @@ For in-depth architectural and operational specifications, see:
PostFundManagement/
├── PostFundManagement.Domain/ # Core Domain Entities, Enums, Value Objects & Abstractions (IEvent)
├── PostFundManagement.Infrastructure/ # EF Core 10, PostgreSQL (Npgsql), Migrations, Data Protection
├── PostFundManagement.Application/ # CQRS Handlers, Mediator, DTOs, Validations, S3, Email, Job Orchestrator
├── PostFundManagement.Api/ # ASP.NET Core Minimal APIs / Carter, Auth (OIDC), Swagger/Scalar, Versioning
├── PostFundManagement.Application/ # CQRS Handlers, Mediator, DTOs, Validations, S3, Email, Quartz, Mcp Tools
├── PostFundManagement.Api/ # ASP.NET Core Minimal APIs / Carter, Auth (OIDC), Swagger/Scalar, In-App MCP Consumer
├── PostFundManagement.Mcp/ # Dedicated Model Context Protocol (MCP) Server Host (HTTP/SSE & Stdio Transports)
├── PostFundManagement.Jobs/ # Dedicated Quartz.NET Background Worker Host (Recurring & Event-Driven Jobs)
├── PostFundManagement.Tests/ # Unit & Integration Test Suite (xUnit, Coverlet)
├── PostFundManagement.ConsoleUI/ # Internal Staff & Admin Web Portal (React 19 + Vite + Tailwind 4)
├── PostFundManagement.PartnerUI/ # External Grantee / Recipient Portal (React 19 + Vite + WebGL OGL)
├── Architecture.md # System Architecture, Security, RBAC, Caching & Quartz Spec
├── Processes.md # Operational Grant Lifecycle, Maker-Checker & Background Workflows
├── PostFundManagement.ShowcaseUI/ # Public-Facing Product Experience Showcase Portal (React 19 + Vite + Tailwind 4)
├── Documentation/ # System Architecture, Operational Manuals, Marketing & Screenshots
│ ├── Architecture.md # System Architecture, Security, RBAC, Caching, MCP & Quartz Spec
│ ├── Processes.md # Operational Grant Lifecycle, Maker-Checker & Background Workflows
│ ├── Marketing/ # Campaign Decks & Marketing Posters
│ └── Screenshots/ # Backoffice (ConsoleUI) & Partner Portal Screenshots
├── GEMINI.md # Master Technical & Architecture Roadmap (SRS v2.0 Alignment)
└── docker-compose.yml # Container orchestration for API and Frontends
```
@@ -179,6 +187,9 @@ yarn install
yarn dev
```
## 📄 License
## 📄 License & Legal Notice
Internal Proprietary Software — All rights reserved.
Internal Proprietary Software — All rights reserved.
Copyright (c) 2026 **Lite Charms (PTY) Ltd** / **Ifri Technologies**.
This software and its associated documentation are the proprietary property of **Lite Charms (PTY) Ltd**. **Ifri Technologies** is an initiative and entity within **Lite Charms (PTY) Ltd**. **Lite Charms (PTY) Ltd** is the official technology partner and author of every technical implementation, system architecture, and maintenance of the Post-Fund Management (PFM) Platform. Unauthorized copying, distribution, or modification via any medium is strictly prohibited.