ShopApp — Fullstack Project
一款支持商品浏览、购物车、在线支付和物流追踪的电商应用。
Architecture
apps/
├── web/ # Next.js 15 + TypeScript + Tailwind CSS
└── api/ # Fastify 5 + TypeScript + SQLite (sql.js)
packages/
├── shared-types/ # @shared/types — shared TypeScript interfaces
└── shared-config/ # @shared/config — shared configuration
Quick Start
# Install all dependencies (root + workspaces)
npm install
# Start both frontend and backend in dev mode
npm run dev
# Or start individually
npm run dev:web # http://localhost:3000
npm run dev:api # http://localhost:3001
Build
# Build everything
npm run build
# Or individually
npm run build:web
npm run build:api
Testing
# Run API tests
npm test
API Endpoints
Auth
POST /api/auth/registerPOST /api/auth/loginGET /api/auth/me
Resources
users
GET /api/users— ListGET /api/users/:id— GetPOST /api/users— CreatePUT /api/users/:id— UpdateDELETE /api/users/:id— Delete
products
GET /api/products— ListGET /api/products/:id— GetPOST /api/products— CreatePUT /api/products/:id— UpdateDELETE /api/products/:id— Delete
orders
GET /api/orders— ListGET /api/orders/:id— GetPOST /api/orders— CreatePUT /api/orders/:id— UpdateDELETE /api/orders/:id— Delete
stocktaking
GET /api/stocktaking— ListGET /api/stocktaking/:id— GetPOST /api/stocktaking— CreatePUT /api/stocktaking/:id— UpdateDELETE /api/stocktaking/:id— Delete
suppliers
GET /api/suppliers— ListGET /api/suppliers/:id— GetPOST /api/suppliers— CreatePUT /api/suppliers/:id— UpdateDELETE /api/suppliers/:id— Delete
stock_alerts
GET /api/stock_alerts— ListGET /api/stock_alerts/:id— GetPOST /api/stock_alerts— CreatePUT /api/stock_alerts/:id— UpdateDELETE /api/stock_alerts/:id— Delete
System
GET /api/health— Health check
Environment Variables
See .env.example for all available configuration.