首页 |
书城 |
阅读 |
|
📚 阅读体验
|
⚙️ 内容管理
|
| 类别 | 技术 |
|---|---|
| 框架 | Next.js 16(App Router)+ React 19 |
| 语言 | TypeScript |
| UI / 样式 | Tailwind CSS 4 · Radix UI · shadcn/ui · next-themes |
| 后端 / 数据 | Supabase(Auth、PostgreSQL、Storage) |
| 表单 | React Hook Form + Zod |
| 国际化 | next-intl |
| 其他 | react-markdown · sonner · lucide-react |
app/ # Next.js App Router 页面与路由
library/ # 书城
reading/ # 阅读页
favorites/ # 收藏
text/ # 章节正文
dashboard/ # 管理仪表盘(概览、添加小说、添加章节)
login/ signup/ forget/ # 认证相关
components/ # 可复用 UI 与业务组件
lib/supabase/ # Supabase 客户端与数据访问层
messages/ # 国际化文案(zh.json / en.json)
i18n/ # 国际化配置
public/markdown/ # 静态 Markdown 内容(如「工作原理」)
- Node.js 20+
- pnpm(推荐)或 npm / yarn
- Supabase 项目
git clone https://github.com/AozoraDev/AozoraReading.git
cd AozoraReading
pnpm install复制 .env.example 为 .env.local,并填入 Supabase 项目信息(在 Supabase Dashboard → Settings → API 获取):
NEXT_PUBLIC_SUPABASE_URL=https://your-project-id.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
SUPABASE_SERVICE_ROLE_KEY仅用于服务端操作(如仪表盘上传封面、管理 Storage),请勿暴露到客户端。
pnpm dev浏览器访问 http://localhost:3000。
| 命令 | 说明 |
|---|---|
pnpm build |
生产构建 |
pnpm start |
启动生产服务 |
pnpm lint |
ESLint 检查 |
pnpm typecheck |
TypeScript 类型检查 |
pnpm format |
Prettier 格式化 |
本项目以 MIT License 开源,仅提供阅读平台代码,不包含任何小说内容。
| 小说自理 | 请自行准备、上传与管理小说文本与封面,并确保拥有相应版权或授权 |
| 后端自理 | 需自行创建 Supabase 项目,配置数据库、Storage 与 Auth,并填入 .env.local |
类似其他开源阅读工具,本项目只开源软件本身;内容与后端基础设施由使用者自行负责。
由 AozoraDev 维护



