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.
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.
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.
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
Inquiry Desk
Website inquiries, sent to the right team with the details they need.
