# LabResourceSystem **Repository Path**: cc6611/lab-resource-system ## Basic Information - **Project Name**: LabResourceSystem - **Description**: 实验室资源管理系统 (Spring Boot + Flask + Node.js) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-13 - **Last Updated**: 2025-11-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README LabResourceSystem - 多语言微服务实验骨架 ===================================== 简介 ---- 本项目为实验用的跨语言微服务骨架,包含: - gateway-java:Spring Cloud Gateway(统一网关,端口 8085) - users-service-java:人员管理(Java Spring Boot,端口 8080) - materials-service-node:物资管理(Node.js Express,端口 8082) - borrows-service-flask:借用管理(Python Flask,端口 8081) 数据库名为:lab_resource 设计原则 -------- - 外部统一由 Gateway 提供 RESTful 接口(/api/**),内部服务按职责独立实现。 - 服务间通过 HTTP/JSON 通信,语言无关。 - 使用 Docker Compose 可一键启动全部服务,便于演示与部署。 目录结构 -------- LabResourceSystem/ ├─ gateway-java/ │ ├─ pom.xml │ ├─ src/main/java/com/lab/gateway/GatewayApplication.java │ ├─ src/main/resources/application.yml │ └─ Dockerfile ├─ users-service-java/ │ ├─ pom.xml │ ├─ src/... │ └─ Dockerfile ├─ materials-service-node/ │ ├─ package.json │ ├─ app.js │ └─ Dockerfile ├─ borrows-service-flask/ │ ├─ app.py │ ├─ requirements.txt │ └─ Dockerfile └─ docker-compose.yml 快速开始(使用 Docker Compose) ----------------------------- 前提:已安装 Docker 与 Docker Compose。 1. 将本仓库克隆到本地或解压压缩包: ```bash git clone <你的仓库地址> cd LabResourceSystem ``` 2. 使用 Docker Compose 一键构建并启动(第一次构建时可能较慢): ```bash docker compose up --build ``` 3. 启动后访问接口(通过网关统一入口): - 获取所有用户: http://localhost:8085/api/users - 获取所有物资: http://localhost:8085/api/materials - 获取所有借用记录: http://localhost:8085/api/borrows 本地非 Docker 运行方式(开发时可选择) ------------------------------------ - Java 服务(需要 JDK17 + Maven) 1. 进入 users-service-java, gateway-java 2. 使用 IDE 导入 Maven 项目或命令行运行: ```bash mvn -f users-service-java/pom.xml spring-boot:run mvn -f gateway-java/pom.xml spring-boot:run ``` - Node 服务 ```bash cd materials-service-node npm install npm start ``` - Python 服务 ```bash cd borrows-service-flask pip install -r requirements.txt python app.py ``` 常见问题与排查提示 ------------------ - 若某服务无法访问,先检查容器是否启动: `docker ps`。 - 查看容器日志: `docker compose logs gateway`(或相应服务名)。 - 若在构建 Java 镜像时依赖下载失败,请确保网络可访问 Maven 仓库,或本地先完成 `mvn package` 再构建镜像。 附:接口示例(通过网关) ---------------------- - GET /api/users -> 获取所有用户 - POST /api/users -> 新增用户(Body JSON) - GET /api/materials -> 获取物资列表 - POST /api/borrows -> 创建借用记录 祝你实验顺利!如需我把该项目直接推送到你指定的 Gitee 仓库结构(我可以生成 push 命令示例),或生成 Postman 导入集合,我都可以继续帮你做。