VegMove
A connected grocery commerce platform. From the first item in a cart to the last mile of delivery.
Built for Customers, administrators, warehouse teams, packers and delivery partners.

Fulfill.
Deliver.Web · Mobile · Operations
- Role
- Backend & full-stack engineer
- Timeline
- May 2025 — Present
- Team
- Techsfera
- Core stack
- NestJS, Next.js, Flutter, PostgreSQL
- Scope
- 6 connected experiences
01 / BUSINESS CONTEXT
The problem to solve.
A grocery order crosses several teams. Stock, preparation, delivery, and payment need to agree even when customers and staff act at the same time.
RESPONSIBILITY
My contribution
At Techsfera, I built backend and full-stack workflows for checkout, inventory, barcode picking, payments, refunds, live updates, and operational reporting.
Team project. My contribution covers the operational software described here; the six-app platform represents the wider team’s work.
WHAT THE SOLUTION ENABLES
A connected order lifecycle: customers place orders while staff work from linked stock, fulfillment, and payment records.
02 / WORKFLOW SUMMARY
Follow the business process.
- 01
Order
Check stock, expiry, availability, and payment state.
- 02
Pick & pack
Connect shelf scans and quantities to the order.
- 03
Deliver
Assign a driver and track delivery confirmation.
- 04
Reconcile
Trace collections, refunds, and stock movements.
03 / SOLUTION DECISIONS
Business rules, made practical.
Two people can act on the same stock.
- Approach
- Validate checkout and picking inside database transactions.
- Why it matters
- Keep an order decision tied to the stock available when that decision is made.
A payment callback or stock request may arrive again.
- Approach
- Use idempotent operations and movement records.
- Why it matters
- Make retries recoverable without applying the same business change twice.
An order may change before a reminder or timeout runs.
- Approach
- Recheck current state in background jobs and publish live updates.
- Why it matters
- Keep automated actions and staff decisions aligned with the order.
DELIVERY CONTEXT
Active company project · May 2025–present. Customer web, Android, and iOS experiences are publicly linked below.
ABOUT THE EVIDENCE
Editorial workflow summary based on the project’s documented business rules. The galleries show supplied product presentations and interface examples.
04Product ecosystem
One platform, many experiences
Six applications work together to move groceries from discovery to doorstep.
05Product capabilities
Built around real operations
The capabilities that connect a customer order to the people fulfilling it.
Connected experiences
Customer commerce and staff operations in one order lifecycle.
Transactional checkout
Stock, expiry and availability checked before an order is confirmed.
Operational visibility
Order, driver and staff updates delivered through server-sent events.
Payments & inventory
Movement ledgers and payment records connect actions to outcomes.
06Challenges & solutions
Reliability where the work connects
Explore the rules and decisions behind the everyday workflows.
01Inventory & checkout
Protect stock while customers and warehouse teams act at the same time.
View detailsClose details
Inventory drives most of the order flow. Checkout uses database transactions and row locks to recheck warehouse stock, current quantity, expiry, and sellable-until rules before creating an order.
Shelf and cabinet inventory track physical quantity separately from reserved quantity. Each movement writes a ledger record with before and after balances plus an idempotency key, so a retry does not count the same movement twice.
The system also blocks common inventory mistakes, including negative shelf balances, reserved stock above physical stock, blocked cabinet locations, mismatched product assignments, and moving reserved units during relocation.
02Warehouse operations
Connect a physical scan to the right order, product and stock movement.
View detailsClose details
Warehouse picking is tied to the inventory ledger. Staff must belong to the right warehouse, the order must be in the right state, the cabinet QR code must match the shelf, and the scanned barcode must match the product or variation.
A successful scan updates the picked quantity, records the scan, and applies the shelf movement in the same transaction. The physical warehouse action and the stock accounting stay together.
The warehouse apps and admin screens support inventory batches, shelf allocation, expired stock handling, refund and exchange returns, barcode lookup, and live order updates.
03Payments & delivery
Handle retries, refunds, online payments and driver cash collection.
View detailsClose details
VegMove supports online payments and cash collection. Razorpay orders and UPI QR payments are used during checkout and delivery collection, with webhooks updating the related order records.
The payment code handles repeated payment requests, cancelled orders, QR closure, partial refunds, late QR payments after cash collection, and refund records for returns or exchanges.
Delivery workflows cover driver assignment, delivery routes, location tracking, delivery PIN confirmation, cash collection, warehouse cash receipt, and outstanding driver-balance calculations.
04Live updates & jobs
Keep staff informed and background actions aligned with current order state.
View detailsClose details
Operations teams need current order information. VegMove uses Redis-backed server-sent events for order, staff, driver, refund, and exchange updates, with heartbeat handling for long-running connections.
BullMQ handles background work such as order-created side effects, payment timeouts, delivery extensions, delay alerts, low-stock alerts, first-order welcomes, refund reminders, search logging, and scheduled notifications.
Several jobs re-read the current order state before acting. For unpaid online orders, a timeout cancels the order only if it is still pending and unpaid.
05Reporting & admin
Bring catalog, fulfillment, finance and permissions into one workspace.
View detailsClose details
The admin dashboard is the central operating workspace. Catalog management covers products, variations, categories, brands, prices, banners, and home sections. Commercial controls include coupons, promotions, reward tiers, and points redemption.
Fulfillment tools cover warehouse-filtered orders, delivery and payment status, inventory batches, barcodes, expiry and sellable-until dates, shelf grids, cabinet mapping, and stock entries. Driver management, delivery slots, cash deposits, refunds, and exchanges connect fulfillment to the finance and support workflows. Reports cover sales, category revenue, customer signups, orders, and stock changes; PostgreSQL queries also support cohorts and repeat-purchase reporting.
Sensitive areas use role and permission checks, TOTP, CAPTCHA verification, Redis-backed attempt controls, blocked-device checks, and expiring customer phone-access grants.
07How it works
System architecture
A high-level view of the applications and services behind the order lifecycle.
Clients / applications
Backend / NestJS
Data layer
Connected workflows
Explore technical decisions
The backend is a NestJS API with services for orders, carts, products, inventory, payments, staff workflows, delivery drivers, promotions, rewards, search, notifications, and reporting.
PostgreSQL stores the main transactional data through Prisma. Direct SQL is used where row locking, ledger calculations, or reporting queries need tighter control. Redis supports live event streams and short-lived operations state, while BullMQ runs deferred and scheduled work.
Next.js powers the customer storefront and admin console. Flutter apps support customer mobile use as well as warehouse, packing, and delivery workflows.
Checkout and picking guard shared stock inside database transactions. Movement ledgers retain before-and-after balances, while idempotency keys keep a repeated action from changing stock twice.
08Engineering highlights
What I built
Reliability at the points where workflows meet.
Guarded shared state
Transactions and row locks protect checkout and stock changes.
Real-time operations
Redis-backed SSE connects order updates to customers and staff.
Inventory accountability
Movement ledgers and idempotency keys make stock retries safe.
State-aware background work
BullMQ jobs recheck order state before timeouts and reminders.
09Technologies
Tools & technologies
- NestJS
- TypeScript
- PostgreSQL
- Prisma
- Redis
- BullMQ
- Server-sent events
- Razorpay
- Next.js
- TanStack Query
- Flutter
- Docker
Next steps
Have a workflow that needs connecting?
Let’s turn your business problem into a practical solution, from the first plan through launch and handover.