HomeNook 是一个专为家庭设计的自托管管理系统,帮助您轻松管理家庭财务、追踪药品和食物保质期、记录家庭物品。支持多用户协作,数据完全自主可控,非常适合部署在家庭 NAS 或私有服务器上。
- 隐私优先 - 数据存储在本地,完全自主可控
- 家庭协作 - 支持多用户,家庭成员共享数据
- 简洁易用 - 现代化 UI 设计,移动端友好
- 轻量部署 - 基于 SQLite,无需额外数据库服务
- Docker 支持 - 一键部署,开箱即用
- 收入/支出记录与分类
- 月度统计报表与图表分析
- 负债管理(房贷、车贷、分期等)
- 自动计算月供(等额本息)
- 还款提醒
- 药品库存登记
- 过期提醒(30天内到期预警)
- 存放位置管理
- 用法用量记录
- 冰箱/冷冻/常温分类
- 保质期追踪
- 存放位置记录
- 过期预警提醒
- 家庭物品登记
- 存放位置管理
- 购买信息记录
- 保修期追踪
- 多用户支持
- 邀请码加入家庭
- 管理员权限控制
- 记录创建人追踪
目录
| 技术 | 说明 |
|---|---|
| Next.js 14 | React 全栈框架 (App Router) |
| TypeScript | 类型安全 |
| Prisma | 数据库 ORM |
| SQLite | 轻量级数据库 |
| Tailwind CSS | 原子化 CSS |
| shadcn/ui | UI 组件库 |
| Recharts | 图表库 |
| Zod | 数据验证 |
- Node.js 18.0 或更高版本
- npm 或 pnpm
# 克隆仓库
git clone https://github.com/peng2132/HomeNook.git
cd HomeNook
# 安装依赖
npm install
# 配置环境变量
cp .env.example .env
# 初始化数据库
npx prisma db push
# 填充示例数据(可选)
npm run db:seed
# 启动开发服务器
npm run dev访问 http://localhost:3000 即可使用。
如果运行了 npm run db:seed,可使用以下账号登录:
| 邮箱 | 密码 |
|---|---|
admin@home.local |
123456 |
⚠️ 生产环境请务必修改默认密码!
# 克隆仓库
git clone https://github.com/peng2132/HomeNook.git
cd HomeNook
# 配置环境变量(可选,修改 AUTH_SECRET)
cp .env.example .env
# 构建并启动
docker-compose up -d --build
# 查看日志
docker logs -f homenook服务将在 http://localhost:3000 启动。
数据存储在 Docker Volume homenook-data 中,包含:
- SQLite 数据库文件
# 备份
docker cp homenook:/app/data ./backup
# 恢复
docker cp ./backup/. homenook:/app/data# 拉取最新代码
git pull
# 重新构建并启动
docker-compose up -d --build# 开发
npm run dev # 启动开发服务器
npm run build # 构建生产版本
npm run start # 启动生产服务器
# 数据库
npm run db:push # 同步数据库结构
npm run db:studio # 打开 Prisma Studio
npm run db:seed # 填充种子数据
# 代码质量
npm run lint # 运行 ESLint- 在
prisma/schema.prisma定义数据模型 - 运行
npx prisma db push同步数据库 - 在
src/app/api/创建 API 路由 - 在
src/app/(dashboard)/创建页面 - 在
src/components/创建组件
欢迎贡献代码、报告问题或提出新功能建议!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 提交 Pull Request
请在 Issues 页面提交问题,并尽可能提供:
- 问题描述
- 复现步骤
- 期望行为
- 截图(如适用)
- 环境信息
- 深色模式优化
- 数据导入/导出
- 多语言支持
- 移动端 APP
- 账单扫描识别
本项目基于 MIT 许可证 开源。
- Next.js - React 全栈框架
- shadcn/ui - 优秀的 UI 组件库
- Prisma - 现代化数据库工具
- Tailwind CSS - 实用优先的 CSS 框架
如果这个项目对你有帮助,请给一个 ⭐ Star 支持一下!
Made with ❤️ by peng
