Skip to content
Duku Constantin

Project / 2025

AirLife

Online shop for air conditioners, air purifiers and dehumidifiers.

Role
7 commits are mine, 9 come from the Lovable tool.
Team
Team of 1.
  • Vite
  • React
  • TypeScript
  • Tailwind
  • shadcn/ui
  • Supabase
  • React Query
Private repositoryairlife.ro ↗
AirLife homepage
  1. Problem
  2. What I built
  3. Result
  4. In the code
  5. Size

01

Problem

A business selling air conditioners, air purifiers and dehumidifiers needed an online shop with orders it could process.

02

What I built

The cart syncs between the browser and the database, so guests keep their cart and it merges at login. Order numbers and stock changes run as database functions. Stock is checked before each order is created.

03

Result

A shop with cart, checkout, order history for customers, payment by cash on delivery or bank transfer, and an admin panel for order status, tracking number, courier and notes. The site is live at airlife.ro and currently shows a coming soon page.

04

In the code

  • Guest carts live in local storage and merge into the database cart at login.

    src/contexts/CartContext.tsx

  • Order numbers and stock decrease run as database functions called through RPC.

    src/pages/Checkout.tsx

  • Shipping is 20 RON, free from 500 RON.

    src/pages/Checkout.tsx

  • Order status, tracking number and courier are managed in the admin.

    src/components/admin/OrderDetailsDialog.tsx

05

Size

  • 3 migrations

← All work