Paintcart
A full-stack e-commerce platform for paint and hardware retail.
Overview
Paintcart is a paint and hardware storefront built across three apps: a NestJS/Prisma backend with a catalogue, cart, and order model; a React Native mobile shopping app; and a Vite-based web app. The backend seeds and serves a structured catalogue across brands and categories, with JWT auth and an admin passcode flow for store management.
The challenge
A hardware and paint catalogue has real structure — brands, categories, variants, pricing — that needs to stay consistent across a mobile app and a web app talking to the same backend, while keeping local development simple enough to seed and run without a lot of setup ceremony.
What I built
- NestJS/Prisma backend with a seeded catalogue (13 brands, 10 categories, 216 products)
- JWT-based auth with an admin passcode flow for store management
- React Native shopping app for browsing, cart, and checkout
- Vite-based web app sharing the same backend and catalogue
- Database migrations and seed scripts for reproducible local setup
Screenshots





Architecture
Engineering highlights
Shared catalogue model
Mobile and web clients read from the same Prisma-backed catalogue, so brand, category, and product data never drifts between platforms.
Reproducible local setup
A seed script populates a realistic catalogue (13 brands, 10 categories, 216 products) so the app is usable locally without hand-entering data.
Results
13
Brands seeded
10
Categories
216
Products seeded
Kalpla
Mobile · Marketplace · EdTech