Project tutorial

Build a Phoenix Ecommerce Store

Build Emberquay Market with Phoenix, LiveView, Tailwind, PostgreSQL, session auth, catalog, cart, checkout, seller product CRUD, search, password recovery, and deploy notes.

  • Difficulty Intermediate
  • Parts 12
  • Stack Elixir, Phoenix, LiveView, Tailwind CSS, Ecto, PostgreSQL, session authentication

How this project works

Emberquay Market is an original teaching storefront in twelve complete snapshots. Clone once and run any numbered folder without rebuilding earlier stages.

The path starts with Phoenix and LiveView, then adds routing, layouts, isolated PostgreSQL catalogs, product pages, accounts, session carts, addresses, seller-owned product CRUD, search, password reset, and production deploy notes.

Authentication uses custom session forms—no scaffold starter kits.

Snapshots 4–12 seed [email protected] and [email protected] with password123. Local PostgreSQL runs on host port 5448 with databases ember_01ember_12.

Start with part 1 Open GitHub repo

Parts in order

Work through the parts in sequence. Each lesson explains the ideas in plain language, then points you to a complete runnable snapshot on GitHub for that stage.

  1. Part 1: Getting StartedBoot Phoenix with LiveView on port 4002.
  2. Part 2: RoutingRegister shop routes for catalog, cart, and health.
  3. Part 3: Layout and UIBuild a shared Tailwind layout and product card shell.
  4. Part 4: Data LayerModel categories and products with migrations and seeds.
  5. Part 5: Catalog and DetailRender a catalog and product detail page by slug.
  6. Part 6: RegistrationValidate customer accounts and store password hashes.
  7. Part 7: Login and Session CartAuthenticate users and keep a session shopping cart.
  8. Part 8: Profiles and MediaEdit profiles, shipping addresses, and product images.
  9. Part 9: Cart, Checkout, and OwnershipCheck out orders and protect seller product mutations.
  10. Part 10: Pagination and SearchPaginate the catalog and filter by name or category.
  11. Part 11: Password ResetIssue expiring one-use password reset tokens.
  12. Part 12: DeployPrepare Emberquay Market for production hosting.