Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Lathezero/AI-Library-Sys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

23 Commits

Repository files navigation

Ask DeepWiki

BookAI

一个智能化的图书管理系统,支持通过自然语言与AI对话进行图书管理操作。系统采用前后端分离架构,提供现代化的Web界面和强大的AI交互功能。

✨ 功能特性

🤖 AI智能对话

  • 自然语言交互:通过自然语言进行图书管理操作
  • 智能理解:支持多种表达方式的用户指令
  • 操作记录:完整的AI对话历史记录
  • 多语言支持:支持中文自然语言处理

📚 图书管理

  • 图书入库:添加新图书,支持ISBN、作者、出版社等信息
  • 图书出库:删除或下架图书
  • 库存管理:实时跟踪图书库存状态
  • 分类管理:图书分类和标签管理
  • 位置管理:图书存放位置管理

👥 用户管理

  • 用户注册/登录:支持用户注册和身份验证
  • 角色权限:管理员、图书管理员、读者三种角色
  • 个人信息:用户资料管理
  • JWT认证:安全的身份验证机制

📖 借阅管理

  • 借书功能:用户借阅图书
  • 还书功能:图书归还处理
  • 借阅历史:完整的借阅记录查询
  • 逾期管理:自动计算逾期状态
  • 预约功能:图书预约管理

📊 数据统计

  • 借阅统计:借阅量、热门图书等统计
  • 库存分析:库存状态、周转率分析
  • 用户活跃度:用户借阅行为分析
  • 可视化图表:直观的数据展示

🎨 现代化UI

  • 响应式设计:适配各种设备屏幕
  • 美观界面:基于Ant Design的现代化UI
  • 用户体验:流畅的交互体验
  • 主题定制:支持主题切换

🛠️ 技术栈

后端技术

  • Node.js - JavaScript运行时环境
  • Express.js - Web应用框架
  • MySQL - 关系型数据库
  • JWT - 身份验证
  • bcryptjs - 密码加密
  • OpenAI API - 自然语言处理
  • CORS - 跨域资源共享
  • Helmet - 安全中间件
  • Express Rate Limit - 请求频率限制

前端技术

  • React 18 - 用户界面库
  • TypeScript - 类型安全的JavaScript
  • Ant Design - UI组件库
  • Tailwind CSS - 实用优先的CSS框架
  • React Router - 客户端路由
  • Axios - HTTP客户端
  • React Hot Toast - 通知组件
  • Lucide React - 图标库

开发工具

  • Concurrently - 并行运行多个命令
  • Nodemon - 开发环境自动重启
  • PostCSS - CSS后处理器

🚀 快速开始

环境要求

  • Node.js >= 16.0.0
  • MySQL >= 8.0
  • npm >= 8.0.0

1. 克隆项目

git clone https://github.com/your-username/ai-booksys.git
cd ai-booksys

2. 安装依赖

npm run install-all

3. 配置数据库

  1. 确保MySQL服务已启动
  2. 复制环境配置文件:
cd server
cp .env.example .env
  1. 修改 server/.env 中的数据库配置:
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=ai_booksys
  1. 初始化数据库:
npm run setup-db

4. 配置AI服务

server/.env 中配置OpenAI API:

OPENAI_API_KEY=your_openai_api_key_here
OPENAI_BASE_URL=https://api.siliconflow.cn/v1
OPENAI_MODEL=Qwen/Qwen3-32B

5. 启动应用

cd ..
npm run dev

访问 http://localhost:3000 开始使用

默认管理员账户

  • 用户名: admin
  • 密码: admin123

📁 项目结构

ai-booksys/
├── client/ # 前端React应用
│ ├── public/ # 静态资源
│ │ ├── components/ # 可复用组件
│ │ ├── pages/ # 页面组件
│ │ ├── contexts/ # React上下文
│ │ ├── utils/ # 工具函数
│ │ ├── App.tsx # 主应用组件
│ │ └── index.tsx # 应用入口
│ ├── package.json # 前端依赖配置
│ └── tsconfig.json # TypeScript配置
├── server/ # 后端Node.js服务
│ ├── src/
│ │ ├── routes/ # API路由
│ │ ├── services/ # 业务逻辑服务
│ │ ├── middleware/ # 中间件
│ │ ├── database/ # 数据库相关
│ │ └── app.js # 应用入口
│ ├── .env.example # 环境变量示例
│ └── package.json # 后端依赖配置
├── package.json # 根项目配置
└── README.md # 项目文档

🔧 可用脚本

根目录脚本

  • npm run dev - 同时启动前后端开发服务器
  • npm run server - 仅启动后端服务器
  • npm run client - 仅启动前端开发服务器
  • npm run build - 构建前端生产版本
  • npm run install-all - 安装所有依赖
  • npm run setup-db - 初始化数据库

后端脚本

  • npm start - 启动生产服务器
  • npm run dev - 启动开发服务器(自动重启)
  • npm run setup-db - 初始化数据库

前端脚本

  • npm start - 启动开发服务器
  • npm run build - 构建生产版本
  • npm test - 运行测试

🤖 AI对话示例

系统支持多种自然语言表达方式,以下是一些示例:

图书管理

  • "帮我添加一本《三体》到图书馆"
  • "我想添加一本新书,书名是《百年孤独》,作者是加西亚·马尔克斯"
  • "删除《某本书》这本书"
  • "查询一下《红楼梦》的库存情况"
  • "显示所有已借出的图书"

借阅管理

  • "张三想借《百年孤独》"
  • "李四还了《1984》这本书"
  • "王五预约了《三体》"
  • "查看张三的借阅历史"
  • "显示所有逾期未还的图书"

用户管理

  • "添加一个新用户,姓名是李明,角色是读者"
  • "修改用户张三的信息"
  • "查看所有用户列表"

统计查询

  • "显示本月的借阅统计"
  • "查询最受欢迎的图书"
  • "显示库存不足的图书"

📡 API接口

认证相关

  • POST /api/auth/register - 用户注册
  • POST /api/auth/login - 用户登录
  • GET /api/auth/profile - 获取用户信息

图书管理

  • GET /api/books - 获取图书列表
  • POST /api/books - 添加新图书
  • PUT /api/books/:id - 更新图书信息
  • DELETE /api/books/:id - 删除图书

借阅管理

  • GET /api/borrowings - 获取借阅记录
  • POST /api/borrowings - 创建借阅记录
  • PUT /api/borrowings/:id/return - 归还图书

AI对话

  • POST /api/ai/chat - AI对话接口

数据统计

  • GET /api/stats/overview - 获取统计概览
  • GET /api/stats/borrowings - 借阅统计
  • GET /api/stats/books - 图书统计

🔒 安全特性

  • JWT身份验证 - 安全的用户认证
  • 密码加密 - bcryptjs加密存储
  • CORS配置 - 跨域安全控制
  • 请求频率限制 - 防止API滥用
  • Helmet安全头 - 增强HTTP安全性
  • 输入验证 - 防止恶意输入

🚀 部署

生产环境部署

  1. 构建前端应用:
npm run build
  1. 配置生产环境变量
  2. 启动后端服务:
cd server
npm start

⭐ 如果这个项目对你有帮助,请给它一个星标!

About

一个智能化的图书管理系统,支持通过自然语言与AI对话进行图书管理操作。系统采用前后端分离架构,提供现代化的Web界面和强大的AI交互功能

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /