> For the complete documentation index, see [llms.txt](https://host2host.onibonje.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://host2host.onibonje.com/docs/10-implementation-roadmap.md).

# Implementation Roadmap

## 1. Overview

This roadmap aligns platform delivery with the RFP objectives and the architectural decisions documented in this repository. **Architecture is complete** — see [Architecture Sign-Off](/docs/42-architecture-sign-off.md). Implementation may now begin per the phases below.

## 2. Phase Summary

```mermaid
gantt
    title H2H Platform Implementation Roadmap
    dateFormat YYYY-MM
    axisFormat %b %Y

    section Phase 1 - Foundation
    Project scaffolding and CI/CD     :p1a, 2026-07, 2M
    Config store and admin API        :p1b, after p1a, 2M
    Finacle wrapper JAR               :p1c, after p1a, 2M
    SFTP file adapter                 :p1d, after p1b, 1M

    section Phase 2 - MVP Payments
    Camel core and step registry      :p2a, after p1d, 1M
    Bulk payment routes               :p2b, after p2a, 2M
    ACK/NACK generation               :p2c, after p2b, 1M
    Admin portal MVP                  :p2d, after p1b, 3M
    Pilot partner onboarding          :p2e, after p2c, 1M

    section Phase 3 - API and Events
    API gateway integration           :p3a, after p2e, 2M
    Kafka event backbone              :p3b, after p2e, 1M
    Idempotency and lifecycle         :p3c, after p3b, 1M
    Operations dashboard              :p3d, after p3a, 2M

    section Phase 4 - Collections and Statements
    Collections routes                :p4a, after p3c, 2M
    MT940/ISO20022 statements         :p4b, after p4a, 2M
    Reconciliation module             :p4c, after p4b, 2M

    section Phase 5 - Multi-Country Scale
    Country pack framework            :p5a, after p4c, 1M
    Second country go-live            :p5b, after p5a, 2M
    Multi-region HA                   :p5c, after p5b, 2M
    Partner self-service portal       :p5d, after p5a, 2M
```

## 3. Phase 1 — Foundation (Months 1-4)

### Objective

Establish project infrastructure, configuration framework, and core adapter JARs.

### Deliverables

| Deliverable                                 | Module(s)                             | Priority |
| ------------------------------------------- | ------------------------------------- | -------- |
| Maven multi-module project structure        | All parent modules                    | P0       |
| CI/CD pipeline (build, test, publish JARs)  | Infrastructure                        | P0       |
| `h2h-bom` version management                | h2h-bom                               | P0       |
| `h2h-common` shared models                  | h2h-common                            | P0       |
| Config database schema (Flyway migrations)  | h2h-config-store, h2h-persistence-spi | P0       |
| Config resolver with caching                | h2h-config-runtime                    | P0       |
| Admin API (partner CRUD, config CRUD)       | h2h-admin-api                         | P0       |
| Core banking API (`CoreBankingIntegration`) | h2h-core-banking-api                  | P0       |
| Finacle wrapper (implements CBS interface)  | h2h-finacle-wrapper                   | P0       |
| SFTP file adapter with Vault integration    | h2h-file-adapter                      | P0       |
| PGP encrypt/decrypt component               | h2h-security                          | P0       |
| Runtime shell (Spring Boot)                 | h2h-runtime                           | P0       |
| Docker image and Helm chart (dev)           | Infrastructure                        | P1       |

### Exit Criteria

* [ ] All foundation JARs publish to Artifactory
* [ ] Config store accepts partner profiles via API
* [ ] Finacle wrapper posts test payment to Finacle sandbox
* [ ] SFTP adapter polls and retrieves test file
* [ ] Runtime starts with all Phase 1 modules enabled
* [ ] CI pipeline runs unit and integration tests

### Low-Code Milestone

* Partner onboarding API functional (no UI yet)
* Config publish workflow operational (API only)

## 4. Phase 2 — MVP Bulk Payments (Months 4-8)

### Objective

Deliver end-to-end bulk payment STP for a pilot corporate partner.

### Deliverables

| Deliverable                                       | Module(s)               | Priority |
| ------------------------------------------------- | ----------------------- | -------- |
| Camel core (idempotency, audit, error handling)   | h2h-camel-core          | P0       |
| Step registry and step executor                   | h2h-camel-core          | P0       |
| Bulk payment route (file → Finacle → ACK)         | h2h-payments-routes     | P0       |
| CSV-to-canonical transform engine                 | h2h-transform (generic) | P0       |
| ACK/NACK generation and delivery                  | h2h-ack-nack            | P0       |
| Admin portal MVP (partner wizard, mapping editor) | Admin frontend          | P0       |
| Publish center with approval workflow             | h2h-admin-api + Camunda | P1       |
| Config test harness                               | h2h-admin-api           | P1       |
| Pilot partner onboarding (1 corporate)            | Operations              | P0       |

### Exit Criteria

* [ ] Pilot partner uploads encrypted CSV via SFTP
* [ ] Platform decrypts, validates, transforms, and posts to Finacle
* [ ] ACK file generated and delivered to partner outbox
* [ ] Full audit trail captured for every transaction
* [ ] Admin can onboard a new partner via portal (sandbox)
* [ ] Config changes publish without redeployment

### Low-Code Milestone

* Partner onboarding wizard functional
* Mapping editor with test harness
* Flow designer (template step composition)
* Publish approval workflow

## 5. Phase 3 — API Channel and Event Backbone (Months 8-12)

### Objective

Add real-time API integration, event streaming, and operations capabilities.

### Deliverables

| Deliverable                           | Module(s)           | Priority |
| ------------------------------------- | ------------------- | -------- |
| API gateway integration (Kong/Apigee) | Infrastructure      | P0       |
| REST payment API route                | h2h-payments-routes | P0       |
| Kafka event backbone                  | h2h-mq-adapter      | P0       |
| Idempotency store (Redis/DB)          | h2h-camel-core      | P0       |
| Transaction lifecycle tracking        | h2h-camel-core      | P0       |
| Operations dashboard                  | Admin frontend      | P0       |
| Failed transaction retry/reprocess    | h2h-admin-api       | P0       |
| DLQ browser                           | Admin frontend      | P1       |
| API product catalog in admin          | h2h-admin-api       | P1       |
| Sandbox API keys for partners         | h2h-admin-api       | P1       |

### Exit Criteria

* [ ] Partner submits payment via REST API with idempotency key
* [ ] Transaction lifecycle visible in operations dashboard
* [ ] Failed transactions can be retried from ops console
* [ ] Kafka audit events stream to OpenSearch
* [ ] API documentation auto-generated per partner product

### Low-Code Milestone

* API product configuration in admin portal
* Operations dashboard with live monitoring
* Exception management workflows

## 6. Phase 4 — Collections, Statements, Reconciliation (Months 12-18)

### Objective

Expand to collections, automated statements, and reconciliation.

### Deliverables

| Deliverable                                    | Module(s)                                  | Priority |
| ---------------------------------------------- | ------------------------------------------ | -------- |
| Collections route (direct debit, bill payment) | h2h-collections-routes                     | P0       |
| ISO 20022 transform module                     | h2h-transform-iso20022                     | P0       |
| MT940 statement generation                     | h2h-transform-mt940, h2h-statements-routes | P0       |
| Statement delivery (SFTP/API)                  | h2h-statements-routes                      | P0       |
| Reconciliation matching engine                 | h2h-reconciliation                         | P0       |
| Reconciliation workbench UI                    | Admin frontend                             | P1       |
| Routing rules engine (DB-driven)               | h2h-camel-core                             | P1       |
| Drools integration (optional)                  | h2h-camel-core                             | P2       |

### Exit Criteria

* [ ] Collection file processed end-to-end
* [ ] MT940 statement generated and delivered to partner
* [ ] Reconciliation matches 95%+ of transactions automatically
* [ ] Unmatched items manageable via workbench
* [ ] Routing rules configurable via admin portal

### Low-Code Milestone

* Rules console for validation and routing
* Reconciliation config in admin portal
* Schedule manager for statement delivery

## 7. Phase 5 — Multi-Country Scale (Months 18-24)

### Objective

Deploy to multiple countries with regional HA and partner self-service.

### Deliverables

| Deliverable                         | Module(s)             | Priority |
| ----------------------------------- | --------------------- | -------- |
| Country pack import framework       | h2h-config-store      | P0       |
| Second country go-live (e.g. Ghana) | Country pack + config | P0       |
| Multi-region Kubernetes deployment  | Infrastructure        | P0       |
| Active-active regional failover     | Infrastructure        | P1       |
| Partner self-service portal         | Partner frontend      | P1       |
| Cross-region config synchronization | h2h-config-runtime    | P0       |
| Grafana SLA dashboards              | Infrastructure        | P1       |
| Load testing and performance tuning | All                   | P0       |
| Security penetration test           | External              | P0       |
| Operations runbooks                 | Documentation         | P1       |

### Exit Criteria

* [ ] Two countries live in production
* [ ] Regional failover tested and documented
* [ ] Partner self-service portal operational
* [ ] Platform handles target TPS per country
* [ ] Penetration test passed with no critical findings
* [ ] New country onboarding achievable in 4-6 weeks

### Low-Code Milestone

* Country pack management in admin portal
* Partner self-service portal
* Full admin platform feature-complete

## 8. Team Structure (Recommended)

| Role                  | Phase 1-2 | Phase 3-5 | Focus                                          |
| --------------------- | --------- | --------- | ---------------------------------------------- |
| Tech Lead / Architect | 1         | 1         | Architecture, code review, Finacle integration |
| Senior Java Developer | 2         | 3         | Camel routes, wrapper JARs, config runtime     |
| Frontend Developer    | 1         | 2         | Admin portal, partner portal                   |
| DevOps Engineer       | 1         | 1         | K8s, CI/CD, monitoring, Vault                  |
| QA Engineer           | 1         | 2         | Test automation, load testing                  |
| Business Analyst      | 1         | 1         | Partner requirements, UAT coordination         |
| Integration Analyst   | 0         | 1         | Mapping specs, country packs                   |

## 9. Risk Register

| Risk                             | Impact   | Mitigation                                          |
| -------------------------------- | -------- | --------------------------------------------------- |
| Finacle API instability          | High     | Circuit breaker, retry, comprehensive wrapper tests |
| Slow partner onboarding adoption | Medium   | Low-code portal, sandbox self-service               |
| Country regulatory differences   | Medium   | Config-driven rules; country packs not code forks   |
| Performance at scale             | High     | Load testing from Phase 3; streaming splits         |
| Security breach                  | Critical | Vault, mTLS, pen testing, audit trail               |
| Key person dependency            | Medium   | Documentation, pair programming, modular JARs       |

## 10. Success Metrics

| Metric                    | Phase 2 Target           | Phase 5 Target           |
| ------------------------- | ------------------------ | ------------------------ |
| Partner onboarding time   | 4 weeks (with support)   | 1-2 weeks (self-service) |
| Transaction STP rate      | 90%                      | 98%+                     |
| Processing latency (file) | < 5 min for 10K payments | < 2 min                  |
| Config change deployment  | < 5 min (no redeploy)    | < 2 min                  |
| Countries live            | 1                        | 5+                       |
| Platform availability     | 99.5%                    | 99.9%                    |

## 11. Related Documents

* [Architecture Overview](/docs/01-architecture-overview.md)
* [Modular JAR Architecture](/docs/03-modular-jar-architecture.md)
* [Multi-Country Deployment](/docs/07-multi-country-deployment.md)
* [Repository Structure](/docs/11-repository-structure.md)
* [44 Program Cost and Staffing](/docs/44-program-cost-and-staffing.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://host2host.onibonje.com/docs/10-implementation-roadmap.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
