# MCSLMS - 多客户端智能图书馆管理系统 Multi-Client Smart Library Management System ## 项目概述 MCSLMS 是一个现代化的图书馆管理系统,支持四种客户端界面: - **CLI** - 命令行界面 - **GUI** - 图形用户界面 (JavaFX) - **Web** - 浏览器访问 (Spring Boot) - **Android** - 移动应用 ## 快速开始 ### 1. 启动应用 最简单的方式是使用统一启动器: ```bash # Windows start.bat # 或直接运行 scripts\run-launcher.bat ``` 启动器会显示菜单,让你选择要使用的客户端。 ### 2. 构建所有模块 ```bash scripts\build-all.bat ``` ### 3. 单独启动客户端 ```bash # CLI 客户端 scripts\run-cli.bat # GUI 客户端 scripts\run-gui.bat # Web 客户端 scripts\run-web.bat # Android 客户端(需要模拟器或真机) scripts\run-android.bat ``` ## 项目结构 ``` MCSLMS/ ├── core/ # 核心业务逻辑模块 ├── cli/ # CLI 客户端 ├── gui/ # GUI 客户端 ├── backend/ # 后端服务(Web) ├── android/ # Android 客户端 ├── launcher/ # 统一启动器 ├── docs/ # 项目文档 │ ├── architecture/ # 架构设计 │ ├── guides/ # 使用指南 │ ├── development/ # 开发文档 │ ├── deployment/ # 部署文档 │ └── reports/ # 测试报告 ├── scripts/ # 构建和运行脚本 ├── data/ # 数据文件 ├── config/ # 配置文件 ├── .jenkins/ # Jenkins 配置 ├── start.bat # 主启动脚本 └── README.md # 本文件 ``` ## 功能特性 ### 基础功能 - ✅ 图书管理(增删改查) - ✅ 借阅管理 - ✅ 用户管理 - ✅ 借阅记录查询 ### 智能功能(开发中) - 🔄 AI 图书推荐 - 🔄 智能搜索 - 🔄 语音交互 - 🔄 图书摘要生成 ### 四端切换 - ✅ 统一启动器 - ✅ 客户端间切换 - ✅ 会话保持 ## 技术栈 - **语言**: Java 21, Kotlin - **构建工具**: Gradle 8.5 - **数据库**: SQLite (开发), PostgreSQL (生产) - **前端框架**: JavaFX, Spring Boot + Thymeleaf - **移动端**: Android SDK 34 (Android 14) - **CI/CD**: Jenkins, SonarQube - **版本控制**: Git, Gitea ## 开发指南 ### 环境要求 - JDK 21+ - Gradle 8.5+ - Android SDK (用于 Android 客户端) ### 构建命令 ```bash # 构建所有模块 ./gradlew build # 构建特定模块 ./gradlew :core:build ./gradlew :cli:build ./gradlew :gui:build ./gradlew :android:assembleDebug # 打包可执行 JAR ./gradlew :cli:fatJar ./gradlew :launcher:fatJar ``` ### 运行测试 ```bash # 运行所有测试 ./gradlew test # 运行特定模块测试 ./gradlew :core:test ./gradlew :cli:test ``` ## 文档 详细文档位于 `docs/` 目录,查看 [文档中心](docs/README.md) 获取完整索引。 **快速链接**: - [快速开始](docs/guides/quick-start.md) - 5分钟上手 - [系统架构](docs/architecture/overview.md) - 了解设计 - [开发指南](docs/development/setup.md) - 环境搭建 - [部署指南](docs/deployment/deployment-guide.md) - 四端部署 ## 架构设计 系统采用分层架构: ``` ┌─────────────────────────────────────────┐ │ Client Applications (四端) │ │ CLI │ GUI │ Web │ Android │ └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ │ Core Module (核心模块) │ │ - Business Logic │ │ - Domain Models │ │ - Data Access │ └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ │ Database (数据库) │ │ SQLite / PostgreSQL │ └─────────────────────────────────────────┘ ``` ## 贡献指南 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ## 许可证 本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件 ## 联系方式 - 项目主页: [GitHub](https://github.com/yourusername/mcslms) - 问题反馈: [Issues](https://github.com/yourusername/mcslms/issues) ## 致谢 感谢所有为本项目做出贡献的开发者! --- **版本**: 1.0.0 **最后更新**: 2025-11-28