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
- Vue / Nuxt client
- Spring Boot API
- Firebird + read mirror
- PostgreSQL
Problem
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.
Solution
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.
Engineering highlights
- 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.