# butler **Repository Path**: jsen/butler ## Basic Information - **Project Name**: butler - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-21 - **Last Updated**: 2026-02-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 小管家 - 项目结构 ``` butler/ ├── butler-gateway/ # API 网关 │ ├── cmd/ │ │ └── main.go │ ├── config/ │ │ ├── config.go │ │ └── config.yaml │ ├── internal/ │ │ ├── middleware/ # 中间件 │ │ ├── router/ # 路由 │ │ ├── handler/ # 处理器 │ │ ├── client/ # 微服务客户端 │ │ └── model/ # 数据模型 │ ├── pkg/ │ │ ├── response/ # 统一响应 │ │ ├── errors/ # 错误处理 │ │ ├── jwt/ # JWT 工具 │ │ └── utils/ # 通用工具 │ ├── go.mod │ └── go.sum │ ├── dict-service/ # 字典服务(Go) │ ├── cmd/ │ ├── config/ │ ├── internal/ │ │ ├── handler/ │ │ ├── service/ │ │ ├── repository/ │ │ └── model/ │ ├── pkg/ │ │ ├── response/ │ │ └── cache/ │ ├── go.mod │ └── go.sum │ ├── account-service/ # 账户服务(Go) ├── billing-service/ # 记账服务(Go) ├── inventory-service/ # 库存服务(Go) ├── recipe-service/ # 食谱服务(Python) ├── collab-service/ # 协作服务(Python) ├── analytics-service/ # 统计服务(Python) │ ├── butler-web/ # 前端(Vue3) │ ├── src/ │ ├── public/ │ ├── package.json │ └── vite.config.ts │ ├── deploy/ # 部署配置 │ ├── nacos/ │ │ ├── dev/ # 开发环境配置 │ │ └── prod/ # 生产环境配置 │ ├── docker/ │ └── k8s/ │ ├── api/ # Proto 文件 │ └── proto/ │ ├── scripts/ # 脚本 │ ├── start-dev.sh # 启动开发环境 │ └── init-nacos.sh # 初始化 Nacos │ ├── docs/ # 文档 │ ├── design/ # 设计文档 │ └── init-database.sql # 数据库初始化 │ └── README.md ``` ## 快速开始 ### 1. 初始化数据库 ```bash mysql -h ifarmshop.com -u root -p < docs/init-database.sql ``` ### 2. 初始化 Nacos 配置 ```bash ./scripts/init-nacos.sh dev ``` ### 3. 启动服务 ```bash ./scripts/start-dev.sh ``` ### 4. 访问服务 - 网关: http://localhost:8080 - Nacos: http://124.221.139.123:30848/nacos ## 开发指南 ### 添加新服务 1. 创建服务目录 2. 复制 dict-service 结构 3. 修改 go.mod 中的 module 名称 4. 在 deploy/nacos/dev/ 添加配置 5. 在数据库添加路由配置 ### 代码规范 - 使用统一响应格式(pkg/response) - 字典值从 dict-service 获取 - 敏感配置放 Nacos - 数据库遵循设计约束