Lesson 1: Introduction to the Project
Defining the scope of our Shopify-lite platform.
Lesson 1: Introduction to the Project
In this course, we are building Shopify-lite. Let’s define what that means.
The Concept
We are building a multi-tenant e-commerce platform. This means a single instance of our software will serve multiple different online stores (tenants), each with their own products, orders, and customers.
Core Capabilities
Our system must support:
- Storefronts: Fast, SEO-friendly pages for browsing products.
- Admin Dashboard: Where merchants manage their inventory.
- Checkout: A secure, reliable way to take money.
- Inventory Management: Real-time stock tracking to prevent overselling.
The “Why”
Why build this? Because it touches on every hard problem in distributed systems:
- Consistency: Inventory must be accurate.
- Availability: Checkout must never go down.
- Scalability: We need to handle flash sales.
- Security: We are handling credit card data (PCI Compliance).
The Role of Sruja
Most tutorials start by running npx create-next-app. We will not do that yet.
We will start by creating a sruja file. Why? Because we need to agree on the structure before we get lost in the details. Sruja will be our shared whiteboard, our documentation, and our validator.