本项目是一个完整的图书馆管理系统,采用前后端分离架构开发。系统旨在实现图书的高效管理和借阅流程的数字化。
白话解释:就像淘宝购物网站分为用户看到的购物页面(前端)和后台的订单处理系统(后端)一样,我们的图书管理系统也分为两部分:
- 前端:读者和管理员看到并操作的网页界面
- 后端:处理数据、执行业务逻辑的服务器程序
- 用户登录/注册:读者可以创建账号并登录系统
- 浏览图书:查看图书馆的所有图书信息
- 搜索图书:通过书名、作者、分类等条件快速找书
- 借阅图书:在线申请借书
- 查看借阅记录:查看自己的借书历史和当前借阅状态
- 归还图书:在线办理还书
- 个人信息管理:修改密码、查看个人资料
- 用户管理:查看、添加、编辑、删除读者账号
- 图书管理:添加新书、修改图书信息、删除图书
- 借阅管理:审核借阅申请、处理归还、管理逾期
- 统计分析:查看借阅统计、热门图书排行
- 系统设置:配置借阅规则(如借阅期限、逾期罚金等)
Vue.js 3 (核心框架)
├── Element Plus (UI组件库)
├── Vue Router (路由管理)
├── Axios (HTTP请求)
└── Pinia (状态管理)
Node.js + Express (服务器框架)
├── MySQL (数据库)
├── Sequelize (ORM工具)
├── JWT (身份认证)
├── bcrypt (密码加密)
└── multer (文件上传)
library-frontend/
├── public/ # 静态资源
│ └── favicon.ico # 网站图标
├── src/
│ ├── assets/ # 资源文件(图片、样式)
│ ├── components/ # 可复用组件
│ │ ├── BookCard.vue # 图书卡片组件
│ │ ├── BookList.vue # 图书列表组件
│ │ └── SearchBar.vue # 搜索栏组件
│ ├── views/ # 页面组件
│ │ ├── Login.vue # 登录页
│ │ ├── Register.vue # 注册页
│ │ ├── Home.vue # 首页
│ │ ├── BookDetail.vue # 图书详情页
│ │ ├── BorrowRecord.vue # 借阅记录页
│ │ ├── AdminDashboard.vue # 管理员仪表板
│ │ ├── UserManagement.vue # 用户管理页
│ │ └── BookManagement.vue # 图书管理页
│ ├── router/ # 路由配置
│ │ └── index.js
│ ├── store/ # 状态管理
│ │ └── index.js
│ ├── utils/ # 工具函数
│ │ ├── request.js # Axios封装
│ │ └── auth.js # 认证工具
│ ├── App.vue # 根组件
│ └── main.js # 入口文件
├── package.json # 依赖配置
└── vite.config.js # Vite配置
library-backend/
├── config/
│ └── database.js # 数据库配置
├── models/ # 数据模型
│ ├── User.js # 用户模型
│ ├── Book.js # 图书模型
│ └── BorrowRecord.js # 借阅记录模型
├── controllers/ # 控制器(业务逻辑)
│ ├── authController.js # 认证控制器
│ ├── userController.js # 用户控制器
│ ├── bookController.js # 图书控制器
│ └── borrowController.js # 借阅控制器
├── routes/ # 路由
│ ├── auth.js
│ ├── users.js
│ ├── books.js
│ └── borrows.js
├── middleware/ # 中间件
│ ├── auth.js # 认证中间件
│ └── errorHandler.js # 错误处理
├── utils/ # 工具函数
│ └── validator.js # 数据验证
├── uploads/ # 上传文件存储
├── app.js # Express应用配置
├── server.js # 服务器启动入口
└── package.json # 依赖配置