All projects

Backend & web applications

Clothing E-commerce · Laravel 12

A Laravel 12 clothing store: filterable catalogue, cart, transactional checkout that updates inventory, and order history.

  • Partial · authentication to finish
  • Individual project
filters: category, price, size, colour
4
transaction for order and inventory
1

01Starting point

Context & mission

The problem

What breaks an online store is not the product page: it is the half-saved order, inventory that falls out of sync, or a customer who sees someone else’s cart.

The mission

Model the key journeys of a clothing store, from product discovery to checkout, tackling first the cases that put data at risk.

My role

Designed and built on my own.

02Execution

What I did

  1. Product discovery

    Paginated catalogue with filters (category, price, size, colour), text search, sorting, related products and several images per product.

  2. Cart

    Session-based cart that works for guests.

  3. Transactional checkout

    Subtotal, taxes and shipping computed, then the order is created in a transaction that also updates inventory: no half-saved orders.

  4. Data protection

    Validation, CSRF protection, mass-assignment control and ownership checks on orders and carts.

03Design

Architecture

Laravel 12 as MVC: controllers, Eloquent models on SQLite, Blade views styled with Tailwind CSS 4 and built with Vite.

The purchase journeyThe order and the inventory are written together, or not at all.
  1. CatalogueFilters · search · sort
  2. CartSession
  3. TotalsSubtotal · taxes · shipping
  4. TransactionOrder + inventory
  5. HistoryCustomer orders

04Impact

Results

  • A complete purchase journey, from catalogue to history.
  • Atomic orders and consistent inventory.

05Wrap-up

Takeaways

What this project proves

That I think about what breaks an online store: atomic orders, consistent stock, protected data.

Learnings and next steps

Still to do: finish Breeze authentication and the admin area, then cover totals, inventory and authorization with automated tests.

06Technology

Full stack

  • PHP 8.2
  • Laravel 12
  • Eloquent
  • Blade
  • Tailwind CSS 4
  • Vite
  • SQLite