{"repo":"baiwumm/better-next","free":true,"listed":false,"github":"https://github.com/baiwumm/better-next","clone":"git clone https://github.com/baiwumm/better-next.git","description":"挖掘发现 Next.js 的乐趣所在","language":"TypeScript","stars":30,"topics":["nextjs16","reactjs","shadcn-ui","supabase","tailwindcss-v4"],"license":null,"category":"ui-components","readme_excerpt":"Better Next 基于 Next.js 16 的演示型后台管理系统。线上部署为 只读模式 （禁止业务写操作），用于演示现代全栈技术栈与 RBAC 权限架构。 技术栈 类别 选型 --- --- 框架 Next.js 16（App Router + Turbopack）· TypeScript 5 样式 Tailwind CSS v4 · HeroUI v3 鉴权 better-auth（email/password + 邮箱验证 + magic link + admin plugin）+ better-auth-ui（HeroUI 版） 数据库 Supabase（仅存储，无 RLS）· Drizzle ORM · postgres.js 数据请求 TanStack Query · @tanstack/react-table 状态 zustand（主题/语言） i18n 中英双语，Cookie 切换，默认中文；代码静态词条（150+，支持参数插值）+ 数据库动态词条双层；服务端错误返回错误码（error.E ）由前端映射翻译 Lint eslint 10 · @antfu/eslint-config 响应式 桌面侧边栏 + 移动端抽屉、表格横向滚动、操作区自动换行 快速开始 演示账号 角色 邮箱 密码 权限 --- --- --- --- 管理员 admin@example.com Admin123456 全部菜单 + 按钮权限 普通用户 user@example.com User123456 只读浏览（无写操作按钮） 公开注册：任何人可在 /auth/sign-up 注册（better-auth 注册端口）。 功能模块 - 鉴权 ：登录 / 注册 / 注销 / 忘记密码 / 重置密码 / 邮箱验证 / 魔法链接（better-auth-ui 全套） - 系统管理 ： - 用户管理：搜索/分页、新建、编辑、启停、重置密码、多角色分配 - 菜单管理：树形 CRUD（目录/菜单/按钮三级），驱动动态侧边栏 - 角色管理：CRUD + 菜单/按钮权限分配（多角色 RBAC，权限取并集） - 字典管理：字典类型 + 字典数据两级 - 国际化：词条在线编辑（双层 i18n 动态加载） - 操作日志 / 登录日志：自动记录（增删改查 / 登录注册登出） - 控制台 ：占位页（此功能正在开发中...） 只读模式（线上） 线上环境设置 APP READONLY=true 后： - middleware 拦截所有非 GET 业务请求（ /api/auth/ 登录/注册/登出放行），API 返回 403 统一 JSON - 前端顶部显示「只读演示环境」横幅 - 本地开发不设置该变量，写操作正常 邮件服务（Resend + better-auth-ui 模板） - 邮箱验证 / 魔法链接 / 重置密码邮件使用 Resend 真实发送 - 邮件模板使用 better-auth-ui 官方邮件组件（ @better-auth-ui/react/email ，HeroUI 品牌配色） - 随语言自动切换 ：better-auth 邮件回调携带请求上下文，从 app-lang cookie 读取语言；中文使用内置中文本地化文案，英文使用模板默认 - 环境变量： RESEND API KEY 、 RESEND FROM （已验证域名发件地址，如 no-reply@baiwumm.com ） - 未配置 RESEND API KEY 时自动降级为控制台输出（开发兜底） 安全设","default_branch":null,"files":null,"tree":[],"storefront":"/r/baiwumm","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/baiwumm/better-next/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}