Springboot+vue自习室预约管理系统 毕业设计

文末获取资源,收藏关注不迷路

文章目录

  • 一、项目介绍
  • 研究的背景和意义
  • 国内外研究现状
  • 二、主要使用技术
  • 三、研究内容
  • 四、核心代码
  • 五、文章目录

一、项目介绍

随着信息技术的发展,管理系统越来越成熟,各种企事业单位使用各种类型的管理系统来提高工作效率,从而降低手工劳动的弊端。我国政府一直以来都非常重视教育事业的发展,鼓励各种学习相关的机构进行发展。另外,近几年来随着就业压力的逐渐增加,各种类型的用户对学习空间的需求越来越多。因此,社会上出现一些方便学习的自习室,管理者希望通过开发自习室管理系统来优化管理方案,对自习室信息进行全方位的在线管理,通过系统跟踪自习室的预约情况,使用情况,提高了自习室管理者的工作效率,同时也方便了学习者可以快速的进行在线预约,合理的利用了学习时间。
自习室管理系统利用Java框架开发的一款管理系统,数据存储到MySQL中,前台使用HTML对界面进行设计和实现。本文先充分调查自习室管理系统的需求分析,深入剖析系统应该具有的功能,并设计完善的数据库。利用成熟的开发技术完成编码工作,最后进行投入前的测试工作。最终,完成前台和后台的自习室管理系统的功能,主要包括具有用户登录模块,预约管理模块,自习室管理模块,会员管理模块,交流管理模块,系统管理模块等,通过前后台实现数据的传递。

研究的背景和意义

在信息技术带动下,也影响着独立自习室的经营活动。在这个信息爆炸,飞速发展的时代,谁都不缺梦想,但需要一个耕耘梦想的空间。因此,社会上出现了许多自习室空间,为追梦人准备了高效且温暖的学习空间。自习室作为学习者比较受欢迎的的地方,也逐渐需需要进行信息化管理,把自习室类型、座位状态、预约等结合在一起,自习室管理系统,可以有效的对这些内容进行整合,提高自习室利用率。
另外,随着通讯技术的飞速发展以及各类新媒体的不断涌出,无论是自习室管理者还是学习者,都希望通过有效的技术手段改变效率低下的预约手段,通过管理系统进行全面的线上管理。管理者可以通过自习室管理系统,全面掌握自习室的各项状态,会员通过系统查询自习室信息,在线预约。在当前疫情严重的阶段,通过管理系统可以有效减少接触,提高自身的安全。
在技术方面,后台使用Java语言进行开发,前端采用Html。这些技术可以处理自习室管理系统的业务逻辑,并方便用户操作,部署简单。所以适应本项目的开发。数据库方面,选择关系型MySQL数据库,比较成熟稳定,并且开源免费,具有高效、简洁的特点。
自习室管理系统能够实现与用户的友好交互,它可以从根本上处理了自习室座位资源被有效运用的问题,改善了自习室座位的管理情况,帮助管理员实现无人值守的功能,提高了管理效率,同时也方便学习者合理安排时间。

国内外研究现状

在国内,各种与学习有关的系统发展迅速,从最初的单片机处理时代发展到数据综合处理时期,到目前的数据系统处理时期。信息技术的快速发展带来了管理系统的质的变化,在单片机处理时期,数据存储有限,系统效率较低。在第二时期的数据综合处理时期中,因为计算机软硬件水平较低而且价格昂贵,虽然自习室管理系统得到了一定的发展,但是受限于昂贵的设备,不能全面普及开来。目前的综合数据系统时代,分布式开发技术、微服务技术,数据库技术逐渐完善,软件设备价格低廉,带动了全面的发展,为自习室管理系统的普及提供了基础。相比单片机管理系统和客户端服务器模式的系统,目前的轻客户端模式大大降低了开发成本,提高了数据管理的效率。每一台客户端不需要单独安装,通过浏览器即可访问。
尽管目前陆续有自习室经营者开发出基于移动平台的自习室查询系统,但基本上是从网页到手机客户端的一种简单的功能迁移,仅仅能满足单纯的查询需求,并没有考虑到一些细化的需求。例如自习室只能预约,无法结算。如果能实时了解到各个自习室的位置和价格,无疑将方便学习者寻找自习室,实现自习室资源的合理利用。
在国外,管理系统发展较早,各种技术比较成熟,对于自习室管理系统也具有更好的兼容性和安全性。在信息化标准规范基础上,各种管理系统也可以满足客户要求,而且对于发达的欧美国家,他们通过利用技术手段,结合先进的教务管理模式,开发出符合高校发展的管理系统。同时,他们经过多年的摸索,形成了规范成熟的自习室管理系统,在美国有着超过85%的会员通过在线查看自习室状态,并积极的参与到管理系统中。

二、主要使用技术

环境需要
1.运行环境:python3.7/python3.8。
2.IDE环境:pycharm+mysql5.7;
3.数据库工具:Navicat11
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
技术栈
后端:python+django
前端:vue+CSS+JavaScript+jQuery+elementui

使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
使用PyCharm 导入项目,修改配置,运行项目;
将项目中config.ini配置文件中的数据库配置改为自己的配置,然后运行;
运行成功后,在浏览器中输入:http://localhost:8080/项目名

三、研究内容

Springboot+vue自习室预约管理系统 毕业设计_第1张图片

Springboot+vue自习室预约管理系统 毕业设计_第2张图片
Springboot+vue自习室预约管理系统 毕业设计_第3张图片
Springboot+vue自习室预约管理系统 毕业设计_第4张图片会员用户功能包括用户登录、查看个人信息、查看公告、查看自习室、在线预约、结束使用、在线交流、查看公告、我的。
会员用户登录后,在首页,查看操作菜单,可以修改个人信息和修改个人密码,修改个人信息和密码的功能流程一致,都是通过先获取到个人信息后,然后进行修改,通过数据库修改语句更新信息。
自习室查看中,查看所有的在线自习室信息,然后预约自习室。到达预约日期后,使用自习室,结束使用。
论坛交流,在论坛中可以查看其他会员的交流内容,对感兴趣的回答可以进行回复,也可以发表自己的看法,参与讨论。
查看公告,查看管理员发布的通知信息,及时了解需要相关的公告资讯。

Springboot+vue自习室预约管理系统 毕业设计_第5张图片
Springboot+vue自习室预约管理系统 毕业设计_第6张图片
管理员管理包括用户登录、会员管理、公告管理、自习室分类管理、自习室管理、预约信息管理、套餐管理、系统管理。
管理员需要先进行登录,获得操作的权限后才能进行信息管理。在本系统中,管理员可以登录服务器端对用户进行管理,进行权限内的功能管理,管理员添加会员信息,对会员的基本信息进行管理,还可以管理系统内的自习室信息。管理员发布公告,制定相关的制度,添加系统通知,都可以在通知栏目中进行录入,最终添加的通知信息保存到数据库中。
Springboot+vue自习室预约管理系统 毕业设计_第7张图片
自习室管理系统可以为自习室管理员提供自习室管理功能。可以让顾客搜索门店信息、在线预约座位、使用计时计费;可以在顾客到达门店自助开门,并寻找座位的功能;到达预约时间后,提醒是否继续使用,如果结束,结算收费;可以让管理员权限登录,可以查看自习室使用情况和收入。本系统有具有用户登录模块,预约管理模块,自习室管理模块,会员管理模块,交流管理模块,系统管理模块,在线交流模块,预约自习室模块,查看相关信息模块,学生注册模块组成。
Springboot+vue自习室预约管理系统 毕业设计_第8张图片
商家主要通过注册后进行登录,然后管理自己的自习室座位信息,管理预约信息、系统管理。
商家需要先进行登录,获得操作的权限后才能进行信息管理。商家功能模块实现商家注册、商家登录、上传店铺信息、个人信息管理、店铺信息管理、查看用户预约、消息管理等功能。
Springboot+vue自习室预约管理系统 毕业设计_第9张图片
Springboot+vue自习室预约管理系统 毕业设计_第10张图片
Springboot+vue自习室预约管理系统 毕业设计_第11张图片
Springboot+vue自习室预约管理系统 毕业设计_第12张图片
Springboot+vue自习室预约管理系统 毕业设计_第13张图片
Springboot+vue自习室预约管理系统 毕业设计_第14张图片
Springboot+vue自习室预约管理系统 毕业设计_第15张图片
Springboot+vue自习室预约管理系统 毕业设计_第16张图片

四、核心代码

# coding:utf-8
__author__ = "ila"

from django.http import JsonResponse

from .users_model import users
from util.codes import *
from util.auth import Auth
import util.message as mes


def users_login(request):
    if request.method in ["POST", "GET"]:
        msg = {'code': normal_code, "msg": mes.normal_code}
        req_dict = request.session.get("req_dict")
        if req_dict.get('role')!=None:
            del req_dict['role']
        datas = users.getbyparams(users, users, req_dict)
        if not datas:
            msg['code'] = password_error_code
            msg['msg'] = mes.password_error_code
            return JsonResponse(msg)

        req_dict['id'] = datas[0].get('id')
        return Auth.authenticate(Auth, users, req_dict)


def users_register(request):
    if request.method in ["POST", "GET"]:
        msg = {'code': normal_code, "msg": mes.normal_code}
        req_dict = request.session.get("req_dict")

        error = users.createbyreq(users, users, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)


def users_session(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code,"msg":mes.normal_code, "data": {}}

        req_dict = {"id": request.session.get('params').get("id")}
        msg['data'] = users.getbyparams(users, users, req_dict)[0]

        return JsonResponse(msg)


def users_logout(request):
    if request.method in ["POST", "GET"]:
        msg = {
            "msg": "退出成功",
            "code": 0
        }

        return JsonResponse(msg)


def users_page(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code,
               "data": {"currPage": 1, "totalPage": 1, "total": 1, "pageSize": 10, "list": []}}
        req_dict = request.session.get("req_dict")
        tablename = request.session.get("tablename")
        try:
            __hasMessage__ = users.__hasMessage__
        except:
            __hasMessage__ = None
        if __hasMessage__ and __hasMessage__ != "否":

            if tablename != "users":
                req_dict["userid"] = request.session.get("params").get("id")
        if tablename == "users":
            msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
            msg['data']['pageSize'] = users.page(users, users, req_dict)
        else:
            msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
            msg['data']['pageSize'] = [],1,0,0,10

        return JsonResponse(msg)


def users_info(request, id_):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}

        data = users.getbyid(users, users, int(id_))
        if len(data) > 0:
            msg['data'] = data[0]
        # 浏览点击次数
        try:
            __browseClick__ = users.__browseClick__
        except:
            __browseClick__ = None

        if __browseClick__ and "clicknum" in users.getallcolumn(users, users):
            click_dict = {"id": int(id_), "clicknum": str(int(data[0].get("clicknum", 0)) + 1)}
            ret = users.updatebyparams(users, users, click_dict)
            if ret != None:
                msg['code'] = crud_error_code
                msg['msg'] = ret
        return JsonResponse(msg)


def users_save(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
        req_dict = request.session.get("req_dict")
        req_dict['role'] = '管理员'
        error = users.createbyreq(users, users, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)


def users_update(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
        req_dict = request.session.get("req_dict")
        if req_dict.get("mima") and req_dict.get("password"):
            if "mima" not in users.getallcolumn(users,users):
                del req_dict["mima"]
            if "password" not in users.getallcolumn(users,users):
                del req_dict["password"]
        try:
            del req_dict["clicknum"]
        except:
            pass
        error = users.updatebyparams(users, users, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)


def users_delete(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
        req_dict = request.session.get("req_dict")

        error = users.deletes(users,
            users,
            req_dict.get("ids")
        )
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)

五、文章目录

1系统概述 1
1.1 研究背景 1
1.2研究目的 1
1.3系统设计思想 1
2相关技术 3
2.1 MYSQL数据库 3
2.2 B/S结构 3
2.3 Djangot框架简介 4
2.4 VUE框架 4
3系统分析 5
3.1可行性分析 5
3.1.1技术可行性 5
3.1.2经济可行性 5
3.1.3操作可行性 5
3.2系统性能分析 6
3.2.1 系统安全性 6
3.2.2 数据完整性 6
3.3系统界面分析 6
3.4系统流程和逻辑 8
4系统概要设计 9
4.1概述 9
4.2系统结构 10
4.3.数据库设计 11
4.3.1数据库实体 11
4.3.2数据库设计表 13
5系统详细实现 17
5.1 管理员模块的实现 17
5.2用户模块的实现 19
6系统测试 21
6.1概念和意义 21
6.2特性 22
6.3重要性 22
6.4测试方法 23
6.5 功能测试 23
6.6可用性测试 24
6.7性能测试 24
6.8测试分析 24
6.9测试结果分析 25
结论 25
致谢语 26
参考文献 26

你可能感兴趣的:(spring,boot,vue.js,课程设计)