# 机器人记账管理系统

这是一个基于 Express 和 MongoDB 的机器人记账管理系统,提供完整的后台管理功能。

## 功能特点

- 用户认证和授权
- 群组管理
- 记账统计
- 数据导出
- 管理员功能

## 技术栈

- Node.js
- Express
- MongoDB
- JWT认证
- Bootstrap 5

## 安装步骤

1. 克隆项目
```bash
git clone [项目地址]
cd [项目目录]
```

2. 安装依赖
```bash
npm install
```

3. 配置环境变量
复制 `.env.example` 文件为 `.env`,并修改相应的配置:
```bash
cp .env.example .env
```

4. 启动开发服务器
```bash
npm run dev
```

## API 接口

### 用户相关
- POST /api/users/login - 用户登录
- GET /api/users/profile - 获取用户信息
- PUT /api/users/password - 修改密码

### 群组相关
- GET /api/groups - 获取所有群组
- POST /api/groups - 创建新群组
- GET /api/groups/:id - 获取单个群组
- PUT /api/groups/:id - 更新群组
- DELETE /api/groups/:id - 删除群组

### 交易相关
- GET /api/transactions - 获取交易记录
- POST /api/transactions - 创建交易记录
- GET /api/transactions/stats - 获取统计数据
- GET /api/transactions/export - 导出交易记录

## 开发说明

1. 数据库设计
- User: 用户信息
- Group: 群组信息
- Transaction: 交易记录

2. 认证流程
- 使用 JWT 进行身份验证
- 密码使用 bcrypt 加密存储

3. 权限控制
- 普通用户:查看数据
- 管理员:所有操作权限

## 部署说明

1. 生产环境配置
- 设置 NODE_ENV=production
- 配置安全的 JWT_SECRET
- 使用生产环境的 MongoDB 连接

2. 性能优化
- 启用压缩
- 使用缓存
- 优化数据库查询

## 贡献指南

1. Fork 项目
2. 创建特性分支
3. 提交更改
4. 推送到分支
5. 创建 Pull Request

## 许可证

MIT