All projects
In developmentEnterprise & ERPDetails pending

Fitolite ERP (modern rebuild)

A ground-up TypeScript rebuild of a long-running PHP distribution ERP — same database, parity-verified module by module — with live updates over WebSockets and a modern, accessible interface.

Type
Type to confirm
Category
Enterprise & ERP

Technology

  • Next.js 15
  • React 19
  • TypeScript
  • Tailwind 4
  • Express
  • WebSockets
  • MySQL
  • Zod
  • Vitest
  • TanStack Query/Table

Challenges

The problem

A large PHP application had grown organically; changing it was risky and the interface dated. A big-bang rewrite would have stopped the business, and the data had to stay in the existing database.

Architecture

Approach: strangler migration

  • apps/web (Next.js) · apps/api (Express/TypeScript REST + WebSocket hub) · packages/shared (types and protocol shared by both).
  • Runs on the existing MySQL database with additive changes only, so the old and new systems coexist.
  • Auth, sessions, RBAC, row scopes and financial-year handling ported first; a revocable-session model and kill switch.
  • Parity-first rule for write paths: each ported calculation is checked against the PHP original (e.g. stock chains, ageing reports compared cell-for-cell) before users move over.
  • A roadmap document tracks per-module parity status honestly (done / partial / not started).

Solutions

Modules covered

Orders and cart (server-side stock caps, reservations), customers, ledger, inventory and production, CRM, quality, logistics, field-sales reports (DSR), channel-partner centre, promotions, cost sheets, reports and settings.