# 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/                 # 类型定义
```
