Selected work
Integration & workflow engineering
Enterprise Commerce & ERP Integration
Moving a React commerce frontend from a third-party commerce service to ERPNext — without rewriting the screens customers and approvers already used.
- Context
- Client product (anonymised). Details and screenshots are withheld because the product is private.
- My role
- Frontend integration and API workflow design
- Scope
- Frontend integrationAPI compatibility layerCart architecture
The need
The product’s React frontend was built against CommerceJS. The business needed commerce, procurement, and approval workflows backed by ERPNext instead, but rebuilding every screen around a new API would have been slow and risky.
Key workflows
- 01Browse items and manage a cart.
- 02Raise procurement and purchase requests.
- 03Move requests through role-based approval steps.
Design decisions
- Keep the familiar workflow
- Users kept the screens and steps they already knew. The change happened behind the interface rather than in it.
Engineering decisions and tradeoffs
- A compatibility adapter instead of a rewrite
- I designed CommerceJS-compatible API workflows backed by ERPNext, so existing frontend calls kept working. The tradeoff: the adapter has to mirror the old API’s shape, which constrains how new features are modelled.
- Redis-backed cart
- Cart functionality moved to Redis, supporting the operational requirements of the ERPNext-based backend while the frontend cart flow stayed the same.
- GraphQL for application data
- The React frontend (Redux and Apollo) integrates with Parse GraphQL for application data alongside ERPNext for commerce and procurement.
Screens
No screenshots are shown: this is a private client product and its interfaces are confidential.
Stack
- React
- Redux
- Apollo Client
- Parse Server (GraphQL)
- ERPNext
- Redis
What changed
- Replaced the CommerceJS dependency with ERPNext-compatible integrations.
- Preserved existing frontend workflows, minimising frontend rewrite effort.
- Introduced Redis-backed cart functionality.
- Supported commerce, procurement, and approval workflows on ERPNext.
Lessons
- An adapter layer can buy time and safety, but it should be documented as a deliberate boundary, not left as a hidden shim.