Added documentation, restructured solution
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user