Every e-commerce conversation starts with the storefront — the beautiful product pages, the smooth checkout, the Instagram-worthy brand. But behind every store that scales past a few hundred orders a day is a backend architecture that either holds steady or crumbles.
This guide covers the engineering decisions that separate hobby stores from serious e-commerce operations: database design, payment processing, inventory management, and the infrastructure patterns that handle Black Friday without breaking a sweat.
Choosing your architecture pattern
The three main patterns for e-commerce backends are: monolithic (everything in one codebase), modular monolith (separate modules but one deployment), and microservices (independent services for cart, inventory, payments, etc.).
For most stores doing under 10,000 orders per month, a modular monolith is the sweet spot — it gives you clear separation of concerns without the operational complexity of managing dozens of microservices. Start monolithic, extract services only when you have a specific scaling problem.
Database schema fundamentals
Your core entities are: Products (with variants), Categories, Customers, Orders, OrderItems, Inventory, and Payments. The relationship between Products and Variants is where most schemas get it wrong — design for flexibility from the start using an EAV (Entity-Attribute-Value) or JSON column pattern for variant attributes.
Index strategically. Your most common queries will be: products by category, orders by customer, and inventory by SKU. Add composite indexes for these early, not after your product page takes 3 seconds to load.
Payment processing architecture
Never store raw card data. Use a payment gateway (Stripe, PayHere for Sri Lanka, or Razorpay) and store only tokenised references. Implement idempotency keys for all payment operations — network failures happen, and charging a customer twice is a great way to lose them forever.
Design your payment flow as a state machine: Pending → Processing → Completed/Failed/Refunded. Each transition should be logged immutably for audit trails and dispute resolution.
Frequently Asked Questions
Should I use Shopify or build a custom backend?+
Shopify is excellent for stores under 1,000 SKUs with standard checkout flows. If you need custom pricing logic, complex inventory rules, multi-warehouse management, or deep integration with existing systems, a custom backend delivers more value long-term.
What tech stack is best for e-commerce backends?+
Node.js (Express/Fastify) or Python (Django/FastAPI) are popular choices. For the database, PostgreSQL is the most reliable option. Use Redis for caching and session management, and a message queue (RabbitMQ or SQS) for order processing.