AS
Back to work

Averix ERP

Internal employee management and Courier ERP systems

Node.jsExpressMongoDBReactViteTailwind CSS
Monorepo restructureExpress/React splitCustom UI badges

The problem

Managing internal employees, projects, and courier shipments across Averix's operations and clients (like Classic Express International Courier) required bespoke, fast, and scalable management systems.

Key decision

Split into focused architectures: `averix-erp` uses npm workspaces/modules pattern with CI, while `AGT Classics Express ERP` relies on a clean Express/MongoDB API and a React/Vite client using React Hook Form.

How it works

The ERPs feature secure JWT auth, Cloudinary uploads, and Role-Based Access Control (RBAC). The codebase enforces strict separation between client (React + Vite) and server (Express + Mongoose).

Features include dynamic streaks, AI chat integration, attendance tracking, grievance modules, and complex shipment forms.

Results

Consolidated internal tools into streamlined, high-performance web applications, dramatically reducing operational friction and improving data visibility for admins.

What went wrong

Managing the real-time calendar syncing for multiple employees concurrently generated database race conditions in MongoDB when we didn't enforce transactions. Moving database writes behind a lock pattern fixed the corruption, but it highlighted MongoDB's weakness in high-contention relational operations.