# IMAPP-BE **Repository Path**: rpk16/imapp-be ## Basic Information - **Project Name**: IMAPP-BE - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-01 - **Last Updated**: 2026-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NestJS 项目 这是一个完整的 NestJS 项目,集成了 TypeORM、MySQL、Redis、Kafka 和 Docker Compose。 ## 技术栈 - **NestJS** - Node.js 框架 - **TypeScript** - 类型安全的 JavaScript - **TypeORM** - ORM 框架 - **MySQL** - 关系型数据库 - **Redis** - 缓存和消息队列 - **Kafka** - 分布式消息系统 - **Docker Compose** - 容器编排 ## 快速开始 ### 1. 启动 Docker 服务 ```bash docker-compose up -d ``` 这将启动以下服务: - MySQL (端口 3306) - Redis (端口 6379) - Zookeeper (端口 2181) - Kafka (端口 9092, 9093) ### 2. 安装依赖 ```bash npm install ``` ### 3. 启动应用 ```bash # 开发模式 npm run start:dev # 生产模式 npm run start:prod ``` ## API 端点 ### 基础端点 - `GET /` - Hello World ### 用户管理 - `POST /users` - 创建用户 - Body: `{ "name": "string", "email": "string" }` - `GET /users` - 获取所有用户(带 Redis 缓存) ### Kafka 消息发布 - `POST /kafka/publish` - 发布消息到 Kafka - Body: `{ "topic": "string", "message": any }` ## 环境变量 项目使用 `.env` 文件配置环境变量。参考 `.env.example` 创建你自己的配置文件。 ## 项目结构 ``` src/ ├── entities/ # TypeORM 实体 │ └── user.entity.ts ├── modules/ # 功能模块 │ ├── kafka/ # Kafka 模块 │ └── redis/ # Redis 模块 ├── app.controller.ts # 应用控制器 ├── app.module.ts # 应用模块 ├── app.service.ts # 应用服务 └── main.ts # 应用入口 ``` ## 功能特性 - ✅ TypeORM 集成 MySQL - ✅ Redis 缓存集成 - ✅ Kafka 消息队列 - ✅ Docker Compose 配置 - ✅ 环境变量管理 - ✅ TypeScript 支持 - ✅ RESTful API ## 开发命令 ```bash # 启动开发服务器 npm run start:dev # 构建项目 npm run build # 运行测试 npm run test # 运行 e2e 测试 npm run test:e2e # 代码格式化 npm run format # 代码检查 npm run lint ``` ## Docker 服务管理 ```bash # 启动所有服务 docker-compose up -d # 停止所有服务 docker-compose down # 查看日志 docker-compose logs -f # 重启服务 docker-compose restart ``` ## 注意事项 1. 确保 Docker 和 Docker Compose 已安装 2. 首次启动时,MySQL 需要一些时间初始化 3. Kafka 依赖 Zookeeper,请确保两者都正常运行 4. 生产环境请修改默认密码和配置