All Projects
Core / Production Completed

Lunelle — Digital Fashion Storefront

Full-Stack E-Commerce

01 — Project Overview

A full-featured fashion e-commerce platform with dynamic product filtering, cart state management, user authentication, and a clean mobile-first UI.

Solo Developer — UI/UX design, PHP backend API, database, and frontend integration.

Stack

PHPMySQLTailwind CSSJavaScriptBootstrap
Private / Offline

02 — The Problem

Goal

Build a premium-feeling e-commerce product that demonstrates full-stack capability, from database design to polished UI.

User Issue

Existing free/open-source e-commerce solutions were either bloated or visually generic. The goal was to build something lean and premium from scratch.

03 — The Process

01

Custom PHP Cart Engine

Built a session-based cart rather than using a framework, to fully understand and control the state lifecycle.

02

Dynamic Filtering

Implemented multi-dimension product filtering (category, price, size) with instant DOM updates — no page reload.

03

Mobile-First Layout

Designed in Tailwind starting at 375px viewport and scaling up, ensuring a premium mobile shopping experience.

Key Challenge

Implementing real-time stock deduction during high-simulated concurrent checkouts to prevent overselling.

snippet
// Custom PHP Session Cart
if (isset($_GET['remove'])) {
    $remove_id = $_GET['remove'];
    if(isset($_SESSION['user_id'])) {
        $conn->query("DELETE FROM cart WHERE cart_id = '$remove_id'");
    } else {
        foreach($_SESSION['cart'] as $key => $value) {
            if($value['cart_id'] == $remove_id) unset($_SESSION['cart'][$key]);
        }
    }
}

04 — The Solution

A sleek, fully functional online fashion store with product catalog, filtering, cart, checkout flow, and a minimal clean UI inspired by premium fashion platforms.

Lunelle Storefront Screenshot

05 — Results & Learnings

Impact

Demonstrated a complete e-commerce lifecycle from product listing to order placement, with atomic inventory management.

Learnings

Understood the complexity of cart state race conditions and the importance of database transactions in e-commerce systems.

What I'd do differently

Would integrate Stripe for real payment processing and add a Redis layer for caching high-traffic product pages.