You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
SLMS Development Team b1e6d0b972
fix: 排除 slf4j-simple 避免与 Spring Boot logback 冲突
4 months ago
.sonarlint 修复IDE问题:创建缺失目录、InterruptedException处理、静态方法调用 4 months ago
android 修复IDE问题:创建缺失目录、InterruptedException处理、静态方法调用 4 months ago
backend fix: 排除 slf4j-simple 避免与 Spring Boot logback 冲突 4 months ago
cli feat: 添加JaCoCo代码覆盖率支持 4 months ago
core feat: 添加JaCoCo代码覆盖率支持 4 months ago
gradle/wrapper feat(app): Android子系统 - 只包含Android和Core模块 4 months ago
gui feat: 添加JaCoCo代码覆盖率支持 4 months ago
scripts feat: 增强构建配置和GUI功能 4 months ago
.gitignore 清理jpackage临时目录,添加.gitignore规则 4 months ago
Jenkinsfile fix: 修复 Jenkinsfile 第506-507行反斜杠转义问题 4 months ago
Jenkinsfile-slms 增强流水线:添加SonarQube质量扫描和头歌平台发布 4 months ago
README.md feat(app): Android子系统 - 只包含Android和Core模块 4 months ago
build.gradle feat: 添加JaCoCo代码覆盖率支持 4 months ago
gradle.properties feat(app): Android子系统 - 只包含Android和Core模块 4 months ago
gradlew.bat Android端完成:修复重复类问题,切换Web功能,构建成功 4 months ago
local.properties 修复 local.properties 格式:去掉多余引号 4 months ago
settings.gradle 修复SonarQube:移除launcher模块,添加skipCompile参数 4 months ago
sonar-project.properties feat: 添加源码推送到头歌main分支及邮件通知功能 4 months ago

README.md

MCSLMS - 多客户端智能图书馆管理系统

Multi-Client Smart Library Management System

项目概述

MCSLMS 是一个现代化的图书馆管理系统,支持四种客户端界面:

  • CLI - 命令行界面
  • GUI - 图形用户界面 (JavaFX)
  • Web - 浏览器访问 (Spring Boot)
  • Android - 移动应用

快速开始

1. 启动应用

最简单的方式是使用统一启动器:

# Windows
start.bat

# 或直接运行
scripts\run-launcher.bat

启动器会显示菜单,让你选择要使用的客户端。

2. 构建所有模块

scripts\build-all.bat

3. 单独启动客户端

# 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 客户端)

构建命令

# 构建所有模块
./gradlew build

# 构建特定模块
./gradlew :core:build
./gradlew :cli:build
./gradlew :gui:build
./gradlew :android:assembleDebug

# 打包可执行 JAR
./gradlew :cli:fatJar
./gradlew :launcher:fatJar

运行测试

# 运行所有测试
./gradlew test

# 运行特定模块测试
./gradlew :core:test
./gradlew :cli:test

文档

详细文档位于 docs/ 目录,查看 文档中心 获取完整索引。

快速链接:

架构设计

系统采用分层架构:

┌─────────────────────────────────────────┐
│     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 文件

联系方式

致谢

感谢所有为本项目做出贡献的开发者!


版本: 1.0.0
最后更新: 2025-11-28