一个基于 Next.js App Router + TypeScript + Tailwind CSS + Prisma + PostgreSQL + Auth.js v5 + TipTap 构建的内容发布后台管理系统。
当前已经完成:
- 管理员邮箱/密码注册与登录
- 后台 Layout、侧边栏与顶部导航
- 文章管理列表、筛选、分页、新增、编辑
- 常见问题维护
- 系统设置保存与回显
- PostgreSQL 本地启动和种子数据初始化
- Next.js 16 App Router
- TypeScript strict
- Tailwind CSS
- Prisma 7
- PostgreSQL 17
- Auth.js v5 Credentials
- react-hook-form + zod
- TipTap 富文本编辑器
- Sonner Toast
- 安装依赖
npm install- 启动 PostgreSQL
如果本机尚未启动:
brew services start postgresql@17- 同步数据库结构
npx prisma db push- 写入种子数据
npm run prisma:seed- 启动开发服务
npm run dev启动后访问 http://localhost:3000
- 邮箱:
admin@yino.local - 密码:
Admin@123456
项目使用的核心环境变量如下:
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/yino_admin?schema=public"
AUTH_SECRET="replace-with-a-long-random-secret"
AUTH_TRUST_HOST="true"
NEXT_PUBLIC_APP_NAME="Yino CMS"npm run dev
npm run lint
npx tsc --noEmit
npx next build --webpack
npm run prisma:generate
npm run prisma:studio
npm run prisma:seed/login登录/register注册/dashboard仪表盘/articles文章管理/faqs常见问题/articles/new新增文章/articles/[id]/edit编辑文章/settings系统设置
- 当前项目使用 PostgreSQL 作为数据库。
- Prisma schema 已与本地数据库同步。
- 已提供可重复执行的种子脚本,适合本地联调和演示。
- 如果后续你要切换到云数据库,只需要更新
DATABASE_URL并重新执行npx prisma db push。
- 上传图片到对象存储
- 文章删除/批量操作
- 草稿自动保存
- 审核流与角色权限
- SEO 字段扩展