All projects

Project 01

ERP Web

A web ERP that incrementally replaces and modernizes a legacy desktop ERP, one business domain at a time.

Status
In production
Role
Technical lead and owner of the frontend architecture; backend delivery across several business domains.
Period
Since 2024
Source
Private codebase
Simplified flow
  1. Vue / Nuxt client
  2. Spring Boot API
  3. Firebird + read mirror
  4. PostgreSQL

Core operations ran on a legacy desktop ERP backed by Firebird. The business depends on it every day and its rules live in years of accumulated code, so replacing it in a single cutover was not realistic.

A Java and Spring Boot backend with a Vue web frontend that runs against the same databases as the legacy system, so modules can move to the web one domain at a time while both applications stay in use. Heavy reads go to a read mirror, isolated from transactional writes, and legacy rules are ported into explicit, testable structures instead of being copied line by line.

  • Several Firebird datasources (primary and read mirror) plus PostgreSQL, with a dedicated read pool so reporting never competes with transactional writes.
  • Auditable state machines for multi-step operations, with transactional side effects and full reversal.
  • Legacy conditional rules refactored into an ordered, testable Chain of Responsibility.
  • Vue 2 to Nuxt 3 migration driven by idempotent codemods instead of a manual rewrite, with every generated route validated against staging.
  • Observability with Prometheus, Grafana, Loki and Alertmanager across the application servers.