1.4 KiB
1.4 KiB
Nanami Web - WoW Addon Platform
World of Warcraft 插件发布与下载平台。
技术栈
- 框架: Next.js 16 (App Router)
- 语言: TypeScript
- UI: TailwindCSS + shadcn/ui
- 数据库: PostgreSQL + Prisma ORM
- 认证: NextAuth.js (Credentials Provider)
- 部署: Docker + docker-compose
本地开发
前置条件
- Node.js 20+
- PostgreSQL 16+
安装
npm install
cp .env.example .env
# 编辑 .env 中的 DATABASE_URL 和其他配置
数据库设置
# 推送 schema 到数据库
npm run db:push
# 初始化管理员账号和示例数据
npm run db:seed
启动开发服务器
npm run dev
访问 http://localhost:3000 查看前台,http://localhost:3000/admin 进入后台管理。
默认管理员账号:admin / admin123
Docker 部署
# 启动所有服务
docker compose up -d
# 初始化数据库
docker compose exec app npx prisma db push
docker compose exec app npx tsx prisma/seed.ts
项目结构
src/
├── app/
│ ├── (public)/ # 前台页面
│ ├── admin/ # 后台管理
│ └── api/ # API 路由
├── components/
│ ├── ui/ # shadcn/ui 组件
│ ├── public/ # 前台组件
│ └── admin/ # 后台组件
├── lib/ # 工具库
└── types/ # 类型定义