Skip to content

CBMS Project Roadmap

Cooperative Bank Management System — Microservices Migration Date: 2026-06-10


Team

Role Responsibility
Domain Experts (multiple) Screen logic, SQL validation, Flyway migrations, AI-assisted screen work
Java Developer Git, Docker, Spring Boot integration, React wiring, BackendBusinessProcess.java
Team Lead Architecture, CI/CD, code standards, technical decisions
Coordinator Task tracking, communication, document management

Technology Stack

Layer Technology
Frontend React.js (showcase-app / arcat-portal)
Backend Spring Boot microservices (Java 17)
Database PostgreSQL — shared neocoredb, schema alappaddemo
Deployment Docker Compose
CI/CD Planned — GitHub Actions / Jenkins
Version Control Git

Phase 0 — Foundation

Timeline: This Week Goal: One working repository everyone can contribute to

Tasks

# Task Who Status
0.1 Java developer creates Git repository with correct folder structure Java Dev Pending
0.2 Java developer pushes current working base (Docker Compose, all services running) Java Dev Pending
0.3 Each domain expert shares their current work files with Java developer All Pending
0.4 Java developer merges all individual work into Git Java Dev Pending
0.5 Confirm Flyway version number table per service — no conflicts Java Dev + Team Lead Pending
0.6 Confirm service name: commonbackendbusinessprocess-service vs domain-split approach Team Lead Pending
0.7 All Docker services start cleanly from a single docker-compose up -d --build Java Dev Pending

Flyway Version Registry (Prevent Conflicts)

Service Current Max Version Next Available
common-service V7 V8
deposit-service V19 V20
customer-service V9 V10
transaction-service V7 V8
generalledger-service V6 V7
product-service V7 V8
share-service V2 V3
system-setup-service V2 V3
periodicactivity-service V5 V6
bankandbranch-service V2 V3
termloan-service V2 V3
operativeaccount-service V2 V3
suspenseaccount-service V2 V3
gdsapplication-service V2 V3
payroll-service V2 V3

Phase 1 — Demo Ready

Timeline: 2–3 Weeks Goal: Working demo for sales team across all assigned screens

Track A — Screens In Progress (Domain Experts + AI)

Module Screen Status
Deposits TimeDeposits / New TD — full workflow In Progress
Deposits Transaction (cash + transfer) In Progress
Deposits Nominee, Joint Account Holder, Authorized Signatory In Progress
Deposits Auto renewal, Sub account info In Progress
Customer Individual / Personal Details In Progress
Customer MIS and KYC In Progress
Customer Photo & Signature In Progress
General Ledger Major/Sub Head with dropdowns In Progress
Product Management Liability Portfolio with dropdowns In Progress
System Setup Interest Rate Group + Calculation In Progress
Periodic Activity Interest Rate (moved from System Setup) In Progress

Track B — Integration (Java Developer)

# Task Who
1.1 Wire all completed React screens to their respective service APIs Java Dev
1.2 Complete any missing BackendBusinessProcess.java methods from SQL dump signatures Java Dev
1.3 Resolve all Flyway version conflicts after merge Java Dev
1.4 Ensure all lookup_master data is seeded correctly for dropdowns Java Dev + Domain Expert
1.5 Fix deposit ID auto-increment after service restart Java Dev
1.6 Verify Docker Compose logs are clean — no startup errors Java Dev

Track C — Architecture (Team Lead)

# Task Who
1.7 Define Git branching strategy (feature branches or single develop branch) Team Lead
1.8 Set up basic CI/CD: push → build → deploy to demo server Team Lead
1.9 Review and confirm BackendBusinessProcess.java service naming Team Lead
1.10 Set up demo server environment Team Lead

Phase 1 Exit Criteria — Demo Checklist

  • [ ] All assigned screens load without errors
  • [ ] Create customer → create deposit → book TD → add transaction works end-to-end
  • [ ] Dropdowns populate from database (lookup_master)
  • [ ] Docker Compose starts all services cleanly
  • [ ] Demo server accessible from sales team's machines

Phase 2 — Consolidation

Timeline: 1–2 Months After Demo Goal: Stable, complete codebase with all modules working

Track A — Remaining Screens

Module Screens Remaining
Deposits Recurring Deposit, Daily Deposit, Thrift
Loans / Term Loan Loan application, disbursement, repayment
Shares / MDS Share account, MDS chit fund
Operative Accounts SB, CA, OD accounts
Periodic Activity Interest calculation, day-end, inoperative charges
Reports Transaction reports, balance sheet, day book
System Setup Holiday master, branch setup, user management

Track B — Database Completeness

# Task
2.1 Get pg_dump --schema-only exports for pkgdayend, pkgtrans, pkg_fin_rpt, pkg_reports_general, pkgreports, pkggenreports, pkgschedule, pkg_app_exec, pkg_app_valdate, pkg_gn_pbk from production DBA
2.2 Confirm if orafce PostgreSQL extension is installed (handles oracle.*, dbms_*, plv* schemas automatically)
2.3 Create Flyway migrations for each production schema dump received
2.4 Validate all BackendBusinessProcess.java methods against actual production function signatures

Track C — Code Quality

# Task
2.5 Standard error handling across all services
2.6 API response format consistency
2.7 Remove all TODO stubs — implement or confirm not needed
2.8 Docker Compose health checks for all services
2.9 Logging standards (structured logs, service name in every log line)

Phase 3 — Production Readiness

Timeline: 2–4 Months Goal: Ready for actual bank deployment

Security

  • [ ] JWT authentication across all microservices
  • [ ] Role-based access control (RBAC) per screen
  • [ ] Database credentials in environment variables, not hardcoded
  • [ ] HTTPS for all endpoints
  • [ ] Audit logging for all financial transactions

Data Migration

  • [ ] Strategy for migrating existing bank data from Oracle/legacy to new PostgreSQL schema
  • [ ] Data validation scripts — ensure migrated data matches legacy records
  • [ ] Rollback plan

Performance

  • [ ] Load testing for day-end procedures (these process entire branch in one batch)
  • [ ] Database connection pooling tuned per service
  • [ ] Report generation performance (large SETOF returns)

Operations

  • [ ] Full CI/CD pipeline with automated testing
  • [ ] Monitoring and alerting (Prometheus + Grafana or equivalent)
  • [ ] Backup and recovery procedures
  • [ ] Runbook for common operations (day-end, interest calculation, report generation)

Regulatory

  • [ ] RBI compliance checklist for CBS (Core Banking Software)
  • [ ] Audit trail completeness verification
  • [ ] DR (Disaster Recovery) setup

Phase 4 — Go Live

Timeline: 3–6 Months Goal: Replace legacy system in one or more branches

  • [ ] Pilot branch selection
  • [ ] Parallel run period (both legacy and new system)
  • [ ] Staff training
  • [ ] Data cutover
  • [ ] Legacy system decommission

What Is Already Done

Deliverable Location Notes
BackendBusinessProcess.java — all 15 services Each microservice's Java package JDBC wrappers for all demo DB functions
Flyway V7 — all DB objects common-service/db/migration/ 640 functions, 69 procedures, 444 views, 1 trigger
Architecture Decision document docs/Architecture_Decision_DB_Functions_vs_Java.md DB-centric approach confirmed
Deposit workflow screens showcase-app New TD, transaction, nominee, joint holder, auth signatory
Customer screens showcase-app Individual, KYC, photo/signature
GL, Product, System Setup screens showcase-app In progress
Docker Compose Project root All services containerized

Immediate Next Actions (This Week)

  1. Java developer — Create Git repo, push base project, collect all team files
  2. Team lead — Confirm commonbackendbusinessprocess-service vs domain-split naming
  3. Domain experts — Share current work files with Java developer
  4. Team lead — Set up demo server + basic CI/CD pipeline
  5. All — Agree on Flyway version registry table above (no one uses the same version number)

Document prepared · 2026-06-10 Project: CBMS — Cooperative Bank Management System