75 lines
1.4 KiB
Markdown
75 lines
1.4 KiB
Markdown
# 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+
|
||
|
||
### 安装
|
||
|
||
```bash
|
||
npm install
|
||
cp .env.example .env
|
||
# 编辑 .env 中的 DATABASE_URL 和其他配置
|
||
```
|
||
|
||
### 数据库设置
|
||
|
||
```bash
|
||
# 推送 schema 到数据库
|
||
npm run db:push
|
||
|
||
# 初始化管理员账号和示例数据
|
||
npm run db:seed
|
||
```
|
||
|
||
### 启动开发服务器
|
||
|
||
```bash
|
||
npm run dev
|
||
```
|
||
|
||
访问 http://localhost:3000 查看前台,http://localhost:3000/admin 进入后台管理。
|
||
|
||
默认管理员账号:`admin` / `admin123`
|
||
|
||
## Docker 部署
|
||
|
||
```bash
|
||
# 启动所有服务
|
||
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/ # 类型定义
|
||
```
|