2.6 KiB
2.6 KiB
PetCare — 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
pets
GET /api/pets— ListGET /api/pets/:id— GetPOST /api/pets— CreatePUT /api/pets/:id— UpdateDELETE /api/pets/:id— Delete
schedules
GET /api/schedules— ListGET /api/schedules/:id— GetPOST /api/schedules— CreatePUT /api/schedules/:id— UpdateDELETE /api/schedules/:id— Delete
records
GET /api/records— ListGET /api/records/:id— GetPOST /api/records— CreatePUT /api/records/:id— UpdateDELETE /api/records/:id— Delete
albums
GET /api/albums— ListGET /api/albums/:id— GetPOST /api/albums— CreatePUT /api/albums/:id— UpdateDELETE /api/albums/:id— Delete
hospitals
GET /api/hospitals— ListGET /api/hospitals/:id— GetPOST /api/hospitals— CreatePUT /api/hospitals/:id— UpdateDELETE /api/hospitals/:id— Delete
items
GET /api/items— ListGET /api/items/:id— GetPOST /api/items— CreatePUT /api/items/:id— UpdateDELETE /api/items/:id— Delete
daily-logs
GET /api/daily-logs— ListGET /api/daily-logs/:id— GetPOST /api/daily-logs— CreatePUT /api/daily-logs/:id— UpdateDELETE /api/daily-logs/:id— Delete
System
GET /api/health— Health check
Environment Variables
See .env.example for all available configuration.