Skip to content
Fincuro — Platform Documentation

NeoCore

Next-generation cooperative banking platform. Replacing the CBMS Oracle monolith with Spring Boot microservices, a React frontend, and PostgreSQL — purpose-built for Indian cooperative banks.

Active Development Spring Boot 3.2 React 18 PostgreSQL 13 Java 17
60+ Microservices
640+ DB Functions
64 Service Schemas
3 Repositories

Documentation

  • Overview


    Project direction, team roles, delivery roadmap, and the AI-assisted development workflow.

    Project Direction

  • Architecture


    PostgreSQL schema topology, Oracle-to-PG migration strategy, and DB function design decisions.

    Database Architecture

  • Microservices


    All 60+ services — ports, domain ownership, inter-service patterns, and standard structure.

    Services Overview

  • Development


    Local environment setup, Git workflow, CI/CD pipeline, and the structured AI-prompt approach.

    Local Setup

  • Deployment


    Bank-by-bank migration playbook, parallel-run strategy, and schema cutover process.

    Migration Strategy

  • Reports


    Jasper Reports architecture, GL reporting layer, and the banking report infrastructure plan.

    Jasper Architecture

System Architecture

graph LR
    FE["React Frontend\nshowcase-app"] -->|JWT Bearer| GW["API Gateway\n:8080"]
    GW --> CS["customer-service\n:8082"]
    GW --> DS["deposit-service\n:8081"]
    GW --> PS["product-service\n:8083"]
    GW --> GL["generalledger-service\n:8088"]
    GW --> SS["system-setup-service\n:8089"]
    GW --> SH["share-service\n:8086"]
    CS & DS & PS & GL & SS & SH --> DB[("PostgreSQL\nneocoredb")]
    EUR["Eureka\nDiscovery"] -.- GW

    classDef frontend fill:#dbeafe,color:#1e3a8a,stroke:#3b82f6,stroke-width:1.5px
    classDef gateway  fill:#e2e8f0,color:#0f172a,stroke:#475569,stroke-width:1.5px
    classDef service  fill:#ccfbf1,color:#134e4a,stroke:#0f766e,stroke-width:1px
    classDef db       fill:#0f766e,color:#ffffff,stroke:none
    classDef infra    fill:#e0f2fe,color:#075985,stroke:#38bdf8,stroke-width:1.5px

    class FE frontend
    class GW gateway
    class CS,DS,PS,GL,SS,SH service
    class DB db
    class EUR infra

Platform Design Principles

Principle What It Means in Practice
Legacy-first reference Every screen must match CBMS legacy UI and business logic exactly — no assumptions
Database-centric logic Business rules live in PL/pgSQL functions; Java is a thin orchestration layer
AI-assisted development Domain experts use structured prompts with legacy SQL screenshots as source material
Schema isolation Each microservice owns its PostgreSQL schema — no shared tables across service boundaries
Incremental migration Banks migrate one at a time with a parallel-run period before cutover
  • Java 17 + Spring Boot 3.2
  • Spring Cloud Gateway — request routing, JWT auth
  • Spring Data JPA + Flyway migrations
  • Eureka service discovery
  • Optional: Kafka messaging, Redis caching
  • React 18.2 + TypeScript
  • Vite build tool, React Router v6
  • Bearer token auth via AuthContext
  • Vitest (unit) + Playwright (e2e)
  • PostgreSQL 13 — single instance (neocoredb)
  • 640+ migrated Oracle functions via Flyway V7
  • 69 stored procedures, 444 views
  • Schema-per-microservice isolation
  • Docker & Docker Compose (local dev stack)
  • GitHub Actions (CI/CD pipeline)
  • Kafka (async messaging, optional per service)
  • Redis (session/cache, optional per service)