Full-Featured E-commerce & Admin Platform
Budget: $30 – $250 USD
Next.js + Tailwind E-commerce + Admin (Express + SQL)
Summary
Build a production-ready e-commerce platform with a customer storefront and a full-fledged admin panel on the same website. Frontend in Next.js + Tailwind, backend in Node/Express, database in SQL (prefer PostgreSQL). Clean, modern UI, secure auth, robust order & inventory workflows, and clear docs.
Tech Requirements
Frontend: Next.js (app router), Tailwind CSS, TypeScript
Backend: Node.js Express REST API (or Express custom server that serves Next)
ORM: Prisma (preferred) or Sequelize
DB: PostgreSQL (preferred) or MySQL
Auth: NextAuth (credentials + OAuth optional), JWT-based sessions, RBAC
Payments: Stripe (cards, Apple/Google Pay); design extensible gateway interface
Email/Notifications: Resend/SendGrid + webhooks; toast/in-app notifications
Search: Server-side Postgres full-text search (and pluggable adapter for Meilisearch/Algolia later)
Files/Media: Image upload + optimization (Sharp), S3-compatible storage
Infra: Dockerized; .env management; CI/CD (GitHub Actions)
Quality: ESLint, Prettier, unit/integration tests (Vitest/Jest + Playwright)
User-Facing Storefront (MVP+)
Product catalog: categories, collections, tags, filters (price, attributes), pagination
Product details: gallery, variants (size/color), stock status, rich description, reviews/ratings
Cart & checkout: guest + authed carts, shipping & tax calculation, discounts/coupons, order summary, Stripe payment
Customer accounts:
Register/login, password reset
View order history, order detail, invoices
Track orders, cancel (pre-fulfillment), request returns/refunds, re-order past orders
Addresses & payment methods vault (Stripe)
Search: typeahead and results page with relevancy & filters
Content basics: home/landing, about, contact, FAQs, policy pages
SEO/perf: metadata, OG tags, sitemap/robots, image optimization, Lighthouse 90+
Admin Panel (same site, protected)
Dashboard: sales KPIs, conversion, AOV, top products, low-stock alerts
Products:
Create/Update/Delete products, variants, attributes, images
Bulk import/export (CSV)
Draft/publish, schedule, visibility, collections
Inventory:
Stock counts per variant, safety stock, backorder rules
Adjustments & audit log
Orders:
View/manage orders, statuses (payment pending/paid/fulfillment/partially fulfilled/refunded/canceled)
Issue refunds/partial refunds, resends, cancellations with reason codes
Print/download invoice and packing slip
Customers:
Profiles, notes, order history, lifetime value
Segments & export
Discounts/Promotions:
Coupon codes (flat/percent), min spend, product/collection scope, usage limits, start/end dates
Fulfillment & Shipping:
Shipment creation (manual for MVP), tracking URL, status updates
Shipping zones/rates (flat for MVP)
Returns (RMA):
Return requests, approve/deny, restock, refund flow
Content (basic CMS):
Manage pages (terms, privacy, shipping, returns), homepage banners/blocks
Support inbox (private):
Inventory requests, customer requests queue (simple CRUD + status + assignee)
Users & Roles:
RBAC (Admin, Manager, Support, Warehouse)
Activity/audit logs (who changed what, when)
Settings:
Payments, taxes (flat or region presets), shipping zones, storefront theme tokens (colors, logos)
Integrations (Stripe keys, email provider, storage bucket)
Security & Compliance
Role-based access control + server-side auth checks
Input validation (Zod), rate limiting (per IP & per user), CSRF where applicable
Secure headers, HTTPS-only cookies, password hashing (bcrypt/argon2)
PII minimization; Stripe handles card data
Audit logs for admin actions
Suggested Architecture
Monorepo (single app):
/apps/web – Next.js (serves admin + storefront routes)
/apps/api – Express API (auth, catalog, orders, etc.)
Option A: Express runs separately behind reverse proxy; Next communicates via REST
Option B: Custom server: Express mounts Next request handler (single process)
/packages/db – Prisma schema & client
Shared types between web/api
Database entities (core):
User, Role, Session
Product, ProductVariant, Collection, Category, Attribute, Image
InventoryItem (by variant), InventoryAdjustment
Cart, CartItem
Order, OrderItem, Payment, Shipment, Address, Refund, ReturnRequest
Discount, DiscountCode
CustomerRequest, InventoryRequest
AuditLog, ContentPage, Setting
Events/webhooks: payment succeeded/failed, order created/fulfilled/refunded
Deliverables
Source code (TypeScript) in GitHub, with README, env samples, and setup scripts
Docker files for web + api + db, and a docker-compose.yml for local dev
Prisma schema & migrations; seed script with sample data
Fully functional UI:
Storefront pages & flows (browse → cart → checkout → order)
Admin panel with all CRUD & workflows listed above
Payment flow with Stripe (test mode)
Email templates (order confirmation, shipping update, password reset)
PDF invoice & packing slip generator
Tests: key services/routes + smoke E2E for checkout & admin CRUD
CI/CD (GitHub Actions): lint, test, build, deploy
Deployment guide (e.g., Docker on Ubuntu with Nginx reverse proxy, HTTPS via Let’s Encrypt)
Documentation: architecture overview, endpoint list, environment variables, admin user guide
Summary
Build a production-ready e-commerce platform with a customer storefront and a full-fledged admin panel on the same website. Frontend in Next.js + Tailwind, backend in Node/Express, database in SQL (prefer PostgreSQL). Clean, modern UI, secure auth, robust order & inventory workflows, and clear docs.
Tech Requirements
Frontend: Next.js (app router), Tailwind CSS, TypeScript
Backend: Node.js Express REST API (or Express custom server that serves Next)
ORM: Prisma (preferred) or Sequelize
DB: PostgreSQL (preferred) or MySQL
Auth: NextAuth (credentials + OAuth optional), JWT-based sessions, RBAC
Payments: Stripe (cards, Apple/Google Pay); design extensible gateway interface
Email/Notifications: Resend/SendGrid + webhooks; toast/in-app notifications
Search: Server-side Postgres full-text search (and pluggable adapter for Meilisearch/Algolia later)
Files/Media: Image upload + optimization (Sharp), S3-compatible storage
Infra: Dockerized; .env management; CI/CD (GitHub Actions)
Quality: ESLint, Prettier, unit/integration tests (Vitest/Jest + Playwright)
User-Facing Storefront (MVP+)
Product catalog: categories, collections, tags, filters (price, attributes), pagination
Product details: gallery, variants (size/color), stock status, rich description, reviews/ratings
Cart & checkout: guest + authed carts, shipping & tax calculation, discounts/coupons, order summary, Stripe payment
Customer accounts:
Register/login, password reset
View order history, order detail, invoices
Track orders, cancel (pre-fulfillment), request returns/refunds, re-order past orders
Addresses & payment methods vault (Stripe)
Search: typeahead and results page with relevancy & filters
Content basics: home/landing, about, contact, FAQs, policy pages
SEO/perf: metadata, OG tags, sitemap/robots, image optimization, Lighthouse 90+
Admin Panel (same site, protected)
Dashboard: sales KPIs, conversion, AOV, top products, low-stock alerts
Products:
Create/Update/Delete products, variants, attributes, images
Bulk import/export (CSV)
Draft/publish, schedule, visibility, collections
Inventory:
Stock counts per variant, safety stock, backorder rules
Adjustments & audit log
Orders:
View/manage orders, statuses (payment pending/paid/fulfillment/partially fulfilled/refunded/canceled)
Issue refunds/partial refunds, resends, cancellations with reason codes
Print/download invoice and packing slip
Customers:
Profiles, notes, order history, lifetime value
Segments & export
Discounts/Promotions:
Coupon codes (flat/percent), min spend, product/collection scope, usage limits, start/end dates
Fulfillment & Shipping:
Shipment creation (manual for MVP), tracking URL, status updates
Shipping zones/rates (flat for MVP)
Returns (RMA):
Return requests, approve/deny, restock, refund flow
Content (basic CMS):
Manage pages (terms, privacy, shipping, returns), homepage banners/blocks
Support inbox (private):
Inventory requests, customer requests queue (simple CRUD + status + assignee)
Users & Roles:
RBAC (Admin, Manager, Support, Warehouse)
Activity/audit logs (who changed what, when)
Settings:
Payments, taxes (flat or region presets), shipping zones, storefront theme tokens (colors, logos)
Integrations (Stripe keys, email provider, storage bucket)
Security & Compliance
Role-based access control + server-side auth checks
Input validation (Zod), rate limiting (per IP & per user), CSRF where applicable
Secure headers, HTTPS-only cookies, password hashing (bcrypt/argon2)
PII minimization; Stripe handles card data
Audit logs for admin actions
Suggested Architecture
Monorepo (single app):
/apps/web – Next.js (serves admin + storefront routes)
/apps/api – Express API (auth, catalog, orders, etc.)
Option A: Express runs separately behind reverse proxy; Next communicates via REST
Option B: Custom server: Express mounts Next request handler (single process)
/packages/db – Prisma schema & client
Shared types between web/api
Database entities (core):
User, Role, Session
Product, ProductVariant, Collection, Category, Attribute, Image
InventoryItem (by variant), InventoryAdjustment
Cart, CartItem
Order, OrderItem, Payment, Shipment, Address, Refund, ReturnRequest
Discount, DiscountCode
CustomerRequest, InventoryRequest
AuditLog, ContentPage, Setting
Events/webhooks: payment succeeded/failed, order created/fulfilled/refunded
Deliverables
Source code (TypeScript) in GitHub, with README, env samples, and setup scripts
Docker files for web + api + db, and a docker-compose.yml for local dev
Prisma schema & migrations; seed script with sample data
Fully functional UI:
Storefront pages & flows (browse → cart → checkout → order)
Admin panel with all CRUD & workflows listed above
Payment flow with Stripe (test mode)
Email templates (order confirmation, shipping update, password reset)
PDF invoice & packing slip generator
Tests: key services/routes + smoke E2E for checkout & admin CRUD
CI/CD (GitHub Actions): lint, test, build, deploy
Deployment guide (e.g., Docker on Ubuntu with Nginx reverse proxy, HTTPS via Let’s Encrypt)
Documentation: architecture overview, endpoint list, environment variables, admin user guide
Related categories:
SEO
Inventory Management
MySQL
Node.js
PostgreSQL
Content Management System (CMS)
Next.js
Tailwind CSS
REST API