# 0. 预览
![](http://study.esunr.xyz/1583661197624.jpg)
基于 Koa 以及 VueJS 的宿舍管理系统。
# 1. 需求分析
主要需求:
- 学生信息录入、修改、删除、查询
- 宿舍管理评分
- 学生早起率、懒床率
- 学生宿舍打扫频率
- 学生晚归情况
- 楼层管理
考虑到实用性,该系统需要拆分为两大子系统,一个是学生端系统,一个是后台管理端系统。学生端系统主要提供给学生使用,负责一些宿舍记录及个人信息记录的基本操作;后台管理模块则是主要负责对所有学生信息的整理,提供宿舍管理、楼层管理、数据查看等权限,提供给宿舍管理员使用的。
## 1.1 学生系统
学生系统拥有以下功能:
- 创建账户
- 分配宿舍
- 填写个人信息
- 修改个人信息
- 起床打卡(用于统计懒床率)
- 归宿登记(用于统计晚归情况)
- 打扫记录(用于统计宿舍打扫频率)
- 查看宿日常数据
## 1.2 管理系统
管理系统拥有以下功能:
- 楼层管理
- 宿舍评价
- 宿舍信息管理
- 学生信息查看
- 保洁人员管理
- 统计学生早起率
- 统计学生宿舍打扫频率
- 统计学生晚归
超级管理员在享有上述管理员同等权限的同时额外拥有如下功能:
- 创建管理员
- 创建宿舍楼
- 为宿舍楼分配管理员
- 为宿舍楼分配保洁人员
# 3. 技术分析
前端:
- Vue 作为基础框架
- vue-router 控制路由(hash 模式)
- vuex 状态管理
- axios 接入数据
- [Vue-element-admin](https://github.com/PanJiaChen/vue-element-admin) 作为基础框架
后台(Nodejs):
- Koa 作为基础框架
- koa-router —— 服务端路由控制
- koa-static —— 读取静态文件
- koa-jwt —— JWT 登录校验
- koa-body —— http body 数据处理
- koa-compress —— Gzip 压缩
- koa-cors —— CORS 解决跨域问题
- sequelize —— ORM
数据库:
- MySQL
数据库设计一览:
![](./宿舍管理系统.png)
# 4. 目录介绍
clinet 目录下为前端的项目文件, server 为后台目录下的文件
## 4.1 Clinet 目录
### 4.1.1 根目录
**public :**
HTML 模板和静态资源,参考 [vue-cli 官方文档](https://cli.vuejs.org/zh/guide/html-and-static-assets.html)
**src :**
源码目录
**.eslint\* :**
Eslint 代码规范规则相关
**.prettierrc.js :**
Prettier 代码格式化相关
**vue.config.js :**
webpack 规则,无需修改
### 4.1.2 src 源码目录(重点)
**api:**
抽离出的单独的请求文件,请求后台的 url
**assets:**
前端的静态文件资源
**components:**
前端的页面的组件,重点组件有:
- GroupSelector:级联选择器组件
- RecordTable:记录表格组件
- RoomSelector:房间级联选择器组件
**filter:**
Vue 过滤器,详见 [Vue 官方文档](https://cn.vuejs.org/v2/guide/filters.html)
**icons:**
icon 图标文件
**layout:**
最外层的整体布局组件
**router:**
前端路由系统,详见 Vue-Router 文档
**store:**
前端状态管理系统,详见 Vuex 文档
**utils:**
页面中的某会被复用的方法,如计算日期、格式化日期的方法,会被抽离到 utils 中,再在各个页面中被引入
**views(重点):**
每个页面的代码都在这里
**App.vue:**
最外层容器页面
**main.js:**
入口文件
**settings.js:**
配置文件(无需更改)
## 4.2 server 目录
server 目录下的 static 文件为静态文件目录,前端 Vue 源码编译好之后会自动存放到 static 目录下。src 为源码目录,以下介绍为 src 目录下的文件:
**app.js:**
入口文件,所有的框架在此引入
**config.js:**
配置文件,除了数据库相关的文件,其余配置项不要更改
**utils:**
后台某些会被复用的方法,会被抽离到 utils 中,再在各个页面中被引入
**struct:**
全局中新建的结构体(非重要,涉及 Javascript 面向对象设计)
**routes:**
后台路由
**model:**
后台 Model 层(定义数据库表结构)
**db:**
数据库连接与生成的方法
**controller:**
后台的 Controller 层
**middle:**
Koa 中间件,详见 Koa 中间件机制。
# 5. 项目启用方式
首先安装 nodejs 与 npm 环境。
## 5.1 运行后台
数据库中创建表 "dormitory"(如下为 Navicat 数据库管理工具):
![](http://img.cdn.esunr.xyz/markdown/20200225211018.png)
将 `dormitory.sql` 文件写入该表,完成数据初始化。
修改 `/server/src/config.js` 文件下的数据库地址、用户名、密码。
使用 cmd 或其他命令行工具移动至 server 目录下,运行:
```js
## 安装依赖
$ npm install
## 运行项目
$ npm run serve
```
看到以下输出,即为成功:
![](http://img.cdn.esunr.xyz/markdown/20200225211508.png)
浏览器输入 `http://localhost:8080`
## 5.2 前端文件
按照上述步骤已经可以正常运行项目,如果需要修改与调试前端页面请按照以下步骤:
> 首先要确保已经在 `/clinet` 目录下运行过 `npm install` 安装好了前端依赖
1. 在 `/server` 目录下运行 `npm run dev` 开启后台调试模式
2. 在 `/client` 目录下运行 `npm run dev` 开启前端调试模式
3. 修改 `/clinet` 目录下的任意文件
4. 修改完成后,在 `/client` 目录下运行 `npm run build:prod`
# 6. API 文档
共计 32 个接口,接口文档:https://documenter.getpostman.com/view/6817046/SzKWuHJh
没有合适的资源?快使用搜索试试~ 我知道了~
DormitoryManagement:基于Vue的宿舍管理系统
共294个文件
js:110个
vue:79个
svg:46个
需积分: 38 16 下载量 143 浏览量
2021-03-11
17:38:08
上传
评论 2
收藏 1.93MB ZIP 举报
温馨提示
0.预览 基于Koa以及VueJS的宿舍管理系统。 1.需求分析 主要需求: 学生信息录入,修改,删除,查询 宿舍管理评分 学生早起率,懒床率 学生宿舍打扫频率 学生晚归情况 重点管理 考虑到实用性,该系统需要分解为两大部份,一个是学生端系统,一个是后台管理端系统。学生端系统主要提供给学生使用,负责一些宿舍记录及个人信息记录的基本操作;后台管理模块则是主要负责对所有学生信息的整理,提供宿舍管理,类别管理,数据查看等权限,提供给宿舍管理员使用的。 1.1学生系统 学生系统拥有以下功能: 创建账户 分配宿舍 填写个人信息 修改个人信息 起床打卡(用于统计懒床率) 归宿登记(为统计晚归情况) 打扫记录(用于统计宿舍打扫频率) 查看宿日常数据 1.2管理系统 管理系统拥有以下功能: 重点管理 宿舍评价 宿舍信息管理 学生信息查看 保洁人员管理 统计学生早起率 统计学生宿舍打扫频率 统计学生晚归 超
资源详情
资源评论
资源推荐
收起资源包目录
DormitoryManagement:基于Vue的宿舍管理系统 (294个子文件)
index.css 414KB
app.2880d96f.css 246KB
chunk-c4e9e82c.6c565dbb.css 5KB
chunk-64238bd4.70564041.css 5KB
chunk-libs.3dfb7769.css 3KB
chunk-449ed288.9741bfdc.css 3KB
chunk-0e5e4f9f.a204d704.css 3KB
chunk-40bdffaa.8b8148d4.css 3KB
chunk-00b0e146.740372e6.css 3KB
chunk-02f0618c.16ac5916.css 3KB
chunk-28686524.b2d110e8.css 3KB
chunk-38603c9b.c04436e4.css 2KB
chunk-1b8c0f1c.d0d1b465.css 2KB
chunk-b5e86848.e1022821.css 1KB
chunk-38d569ed.ca73bda3.css 1KB
chunk-commons.48d866de.css 1KB
chunk-10cea042.e9a4618c.css 745B
chunk-33433000.2e5109d3.css 419B
chunk-5e9226ff.8e82c298.css 419B
chunk-7746cc22.bd74649e.css 419B
.env.development 541B
.editorconfig 244B
.eslintignore 64B
401.089007e7.gif 160KB
401.gif 160KB
.gitignore 256B
.gitignore 256B
.gitignore 12B
index.html 5KB
index.html 488B
favicon.ico 66KB
favicon.ico 66KB
chunk-libs.ff335d44.js 1.35MB
chunk-elementUI.22e254ce.js 656KB
app.aa99d35a.js 111KB
chunk-c4e9e82c.6a01882f.js 24KB
record_controller.js 20KB
chunk-0e5e4f9f.fe8ac39e.js 13KB
chunk-00b0e146.3bb3c405.js 12KB
chunk-40bdffaa.de1cd775.js 12KB
chunk-b5e86848.edf327c5.js 11KB
chunk-28686524.c9752faa.js 9KB
index.bac.js 9KB
chunk-commons.66f22add.js 9KB
index.js 8KB
language.js 7KB
chunk-02f0618c.7b3caee4.js 7KB
chunk-449ed288.a3c62e27.js 7KB
chunk-7746cc22.c1cc8d0e.js 6KB
chunk-33433000.40d92d0e.js 6KB
chunk-5e9226ff.794a6b6b.js 6KB
chunk-38d569ed.6ec8e7bd.js 6KB
index.js 5KB
user_router.js 5KB
chunk-1b8c0f1c.0b7e3915.js 5KB
chunk-38603c9b.1cb90e43.js 5KB
user.js 4KB
record_router.js 4KB
building_router.js 4KB
tagsView.js 4KB
vue.config.js 4KB
db_generator.js 4KB
components.js 3KB
permission.js 2KB
record.js 2KB
chunk-10cea042.3c3d6c04.js 2KB
.eslintrc.js 2KB
validate.js 2KB
app.js 2KB
chunk-64238bd4.537fc0b8.js 2KB
.eslintrc.js 2KB
user_controller.js 2KB
user.js 2KB
nested.js 2KB
scroll-to.js 2KB
index.js 2KB
building_model.js 2KB
evaluate_router.js 1KB
building.js 1KB
effectRipple.js 1KB
room_router.js 1KB
request.js 1KB
floor_router.js 1KB
permission.js 1KB
token_model.js 1KB
user_model.js 1KB
app.js 1KB
ResizeHandler.js 1KB
room_model.js 1KB
open-window.js 1KB
table.js 1013B
main.js 1006B
chunk-04a4268a.b51479b0.js 955B
error-log.js 920B
charts.js 834B
getters.js 787B
floor_model.js 786B
jest.config.js 766B
building_controller.js 753B
cleaner_router.js 749B
共 294 条
- 1
- 2
- 3
葵烟
- 粉丝: 21
- 资源: 4599
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0