Basic E-commerce App

A basic e-commerce app is larger than todo/blog apps.

Build it only after you are comfortable with auth and CRUD.

Features

Core collections

users
products
carts
orders
payments

Order document

{
  "userId": "user_1",
  "items": [
    {
      "productId": "product_1",
      "name": "Keyboard",
      "price": 2500,
      "quantity": 2
    }
  ],
  "totalAmount": 5000,
  "status": "placed"
}

Store product snapshot data like name and price inside order items because product details may change later.

Important backend concerns

What this project proves