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
- [ ] 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 |
- Java developer — Create Git repo, push base project, collect all team files
- Team lead — Confirm
commonbackendbusinessprocess-service vs domain-split naming
- Domain experts — Share current work files with Java developer
- Team lead — Set up demo server + basic CI/CD pipeline
- 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