
EcoExpress is a production-shaped organic grocery platform for the Indian market — a Next.js 14 storefront and admin console over a Java 21 / Spring Boot modular monolith. The storefront is table stakes; the differentiator is the nutrition intelligence layered on top: a Smart Cart that scores the health of your basket, a Smart Fridge that reads a photo and suggests recipes plus the missing ingredients, a weekly meal planner, and a pantry that stops the app recommending what you already own.
Most e-commerce side projects put correctness in application code — and application code is exactly where the money bugs live. Overselling, double-charging on a replayed webhook, an invoice whose lines don't add up, a stock history quietly rewritten by a bad UPDATE: every one of those is a one-line mistake away in a typical CRUD service. On top of that, groceries in India carry real regulatory weight — GST invoicing, MRP price ceilings, FSSAI licensing, organic certification — that a generic store template simply ignores.
The governing idea is to push correctness into the database, so a bug in application code cannot corrupt money or stock. Eleven invariants are enforced as constraints — you cannot charge above printed MRP, cannot oversell, cannot create a >100% coupon, cannot UPDATE or DELETE a row in the stock ledger, and a replayed Razorpay webhook cannot double-credit. Each one was proven by attempting to violate it; all eleven were rejected by Postgres. The backend is an 11-module monolith where modules talk through each other's services rather than reaching into each other's tables, and the AI features route through a single doorway that owns budget, cost accounting, and failure shape.
A Next.js storefront on Vercel calls a Spring Boot modular monolith on Render over /api/v1, which owns PostgreSQL (Neon) as the source of truth, caches through Redis, and reaches Gemini, Razorpay, and R2 behind narrow adapters. Payments only advance order state on an HMAC-verified webhook — never on a client callback.
Next.js 14 storefront
Vercel · TanStack Query · shadcn/ui
Spring Boot API
11 modules · JWT · permission RBAC
PostgreSQL + Redis
constraints as the safety net
Gemini · Razorpay · R2
AI · payments webhook · storage
Backend
Frontend
Data
AI
Integrations
Infrastructure