Next-generation virtual storefront template — premium ecommerce UX, full admin control panel, SEO, security headers, and Docker deployment for private servers.
- Next.js 16 (App Router) + React 19 + TypeScript
- Tailwind CSS 4 — modern design system
- Prisma ORM + SQLite (dev) / PostgreSQL (production)
- JWT auth — admin/developer roles
- Docker — standalone production deploy
npm install
npm run db:setup # migrate + seed demo products
npm run dev # http://localhost:3000Admin: http://localhost:3000/admin
Default credentials (change in .env): admin@example.com / see ADMIN_PASSWORD in .env
| Route | Description |
|---|---|
/ |
Hero + featured products |
/shop |
Full catalog |
/product/[slug] |
PDP with JSON-LD |
/cart |
Session cart |
/checkout |
Order placement |
/collections/featured |
Featured collection |
| Route | Description |
|---|---|
/admin |
Dashboard stats |
/admin/products |
Catalog management |
/admin/orders |
Order fulfillment |
/admin/settings |
Store configuration |
/admin/security |
Security controls |
/admin/developer |
API reference |
- Dynamic
metadataper product page sitemap.xml+robots.txt+ PWAmanifest.json- Open Graph + Twitter cards
- Schema.org Product + Organization JSON-LD
- Middleware security headers (HSTS, X-Frame-Options, CSP-adjacent)
- HttpOnly JWT session cookies
- Role-based admin access
- Protected
/admin/*routes (except login)
This app requires Node.js (not static HTML alone). Recommended:
docker compose up -d --buildSee deploy/README.md for Apache reverse proxy + FTP/server setup.
Copy .env.example to .env and configure:
JWT_SECRET— long random stringADMIN_EMAIL/ADMIN_PASSWORDNEXT_PUBLIC_SITE_URL— your domainDATABASE_URL—file:./prod.dbor PostgreSQL URL
Never commit .env or FTP credentials to git.
MIT — use freely for commercial projects.
by ASTRA MATRIX