Arca is a role-based unified ecommerce platform built with Next.js App Router, Supabase, and Stripe.
It combines a luxury storefront with internal dashboards for admin, manager, and staff workflows.
The project is actively in development with core flows implemented across:
- Storefront browsing, product detail, category filtering, and cart
- Account area (profile, orders, appointments, service, wishlist)
- Role-specific dashboards (
admin,manager,staff) - Catalog management and internal operations screens
- Checkout API route with Stripe integration hooks
- Auth flows: signup, login, verify, reset password, update password, signout
Next.js 16(App Router)React 19TypeScriptSupabase(@supabase/ssr,@supabase/supabase-js)StripeTailwind CSS 4Radix UI,Zod,React Hook Form,Zustand,Framer Motion
- Install dependencies:
npm install- Create your env file:
cp .env.local.example .env.localIf .env.local.example does not exist in your clone, create .env.local manually.
-
Add required environment variables (see below).
-
Run development server:
npm run devThe codebase currently expects these values:
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=
STRIPE_SECRET_KEY=npm run dev- Start local dev servernpm run build- Production buildnpm run start- Start production servernpm run lint- Run ESLint
app/(storefront)- Public shopping experience and customer account pagesapp/auth- Authentication pages and signout routeapp/dashboard/admin- Admin operations (catalog, reports, pricing, inventory, users, stores, audit)app/dashboard/manager- Manager workflows (inventory, transfers, orders, events, analytics, discrepancies)app/dashboard/staff- Staff workflows (sell, clients, appointments, catalog, looks, service)app/api/checkout/route.ts- Checkout API endpointcomponents/- Shared UI and domain-specific componentslib/- Integrations and utility modules (supabase,stripe, helpers)
- This repository contains ongoing feature work. You may see local uncommitted changes depending on branch/worktree state.
- Stripe is optional at runtime if
STRIPE_SECRET_KEYis not provided (the Stripe server client is initialized conditionally).
Deploy on Vercel (recommended) or any Node runtime that supports Next.js 16.
Before deploying, ensure:
- All required environment variables are configured in the target environment
npm run buildpasses locally