Logo Lanfrica

Tevin2119/jazys-house

Domaine:

digital infrastructure

Type de record:

software
Créateur:
Tev
Hôte:
Jazy's House — African handmade fashion, superfoods & authentic African catering. PWA (mobile-first, one codebase → website + installable app). # Jazy's House Platform **Jazy's House** is a multi-tenant African handmade e-commerce platform. A single deployment serves many independent storefronts, each resolved per-request from its host. Every store gets its own catalog, categories, and per-tenant theming (colors, font, logo), a customer-facing storefront with Stripe checkout, and an admin dashboard for owners and platform super-admins. The app is an installable PWA with an offline fallback. Built with Next.js 15 (App Router, React 19), Prisma + PostgreSQL (Supabase), Auth.js v5, and Tailwind v4. ## Tech stack - **Next.js 15** — App Router, React Server Components by default, route groups for storefront vs. admin separation. - **React 19** — UI runtime. - **TypeScript 5.7** — strict typing across the codebase. - **Prisma 6** + **PostgreSQL (Supabase)** — type-safe data access; pooled connection at runtime, direct connection for migrations. - **Auth.js v5 (NextAuth, beta)** — admin/owner authentication; host auto-detected on Vercel. - **Stripe 17** — checkout sessions created server-side; the secret key never reaches the client. - **Tailwind v4** + **shadcn/ui** (Radix primitives) — styling and component library; tenant theming via CSS variables. - **PWA** — `manifest` + service worker for installability and an offline fallback. - **Vercel** — hosting (region `iad1`, configured in `vercel.json`). ## Quick start ```bash git clone jazyshouse-platform cd jazyshouse-platform npm install cp .env.example .env ``` Fill in `.env`: - `DATABASE_URL` — Supabase **pooled** connection (port `6543`, with `?pgbouncer=true&connection_limit=1`). - `DIRECT_URL` — Supabase **direct** connection (port `5432`, used for migrations). - `AUTH_SECRET` — generate one: ```bash openssl rand -base64 32 ``` - `STRIPE_SECRET_KEY` (`sk_...`), `STRIPE_WEBHOOK_SECRET` (`whsec_...`), `NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY` (`pk_...`). - `SEED_ADMIN_PASSWORD` — password for the seeded admin accounts (default `admin1234`, dev-only). Then …

Languages