Fashion e-commerce · Mobile & web

Manzana Collection.

A fashion e-commerce platform for Manzana Collection, built as a React Native shopping app and a React web dashboard on one Supabase backend. Shoppers and resellers reserve pieces from their phone and pay when they pick them up, and staff run the catalog, orders, and promotions from the web.

THE STARTING POINT

A problem worth exploring.

Selling clothes online means keeping the catalog, stock, prices, and orders straight for two kinds of buyer: everyday shoppers, and resellers who buy for their own stores. A new sale, a sold-out piece, or an order that is ready all have to reach the right people at the right time. Manzana Collection brings the shop’s catalog, orders, and stock into one system.

THE APPROACH

Less friction. More intention.

Shop online, pay at pickup. Customers browse the catalog on their phone, find a piece even with its name misspelled, save favourites, and check out by choosing a pickup date and time, then pay in cash, by card, or by e-wallet at the store. Resellers sign up with their business details and see the promotions meant for them. Staff work from a web dashboard for products, categories, orders, promotions, and reviews, and every change reaches the app through the same database. When stock runs low the staff are told, and when a piece is back, everyone waiting for it gets a push notification.

  • A mobile catalog with categories, forgiving search, size and colour options, and a wishlist.
  • Checkout for store pickup on a chosen date and time, paid in cash, by card, or by e-wallet at the counter.
  • Push notifications for promotions, order updates, and pieces back in stock.
  • A web dashboard for products, orders, promotions, reviews, and staff, with reports by date range and orders exported to CSV.
A LITTLE REFLECTION

What this project taught me.

Most of the work was in the parts a shopper never sees. Deleting a product only moves it to the trash, so past orders still show what was bought and a mistake can be undone. Stock alerts come from a database trigger, so a low count reaches the staff and a restock reaches waiting customers without anyone sending a message. Letting the database keep the shop’s records straight is what kept the app and the dashboard simple.

BUILT WITH

Mobile app
TypeScript, React, React Native, Expo, React Navigation
App data & search
TanStack Query, Zustand, AsyncStorage, Fuse.js
On the device
Push notifications, Expo Image Picker, Expo SecureStore
Web admin
React, TypeScript, Vite, React Router
Shared backend
Supabase Auth, PostgreSQL, Row-level security, Supabase Realtime, Supabase Storage, Deno Edge Functions
Storefront redesign
HTML, CSS, JavaScript
Hosting & mobile builds
Vercel, Expo EAS
Quality checks
Jest, React Native Testing Library
UP NEXT

Inquiry Desk

Website inquiries, sent to the right team with the details they need.