Code Monkey home page Code Monkey logo

classroom-applying-system's Introduction

Classroom Applying System说明

使用背景

目前北邮沙河校区各个社团对于活动室的申请依旧采用的是非常原始的邮件+人工处理的方式,而人工处理的弊端非常之多:

  1. 每周都要花费大量时间处理邮件,给社联的工作人员增加了额外的不必要的工作量。
  2. 出错概率非常之高,以至于经常发生同一个教室同一时间段借给了几个社团的情况出现。
  3. 社团方面没有行之有效的方法联系对应活动室的负责人,光靠微信也经常无法联系上相关人员

因此有必要找到一种新方法,能够平台化的,自动化的完成从教室的申请到负责人的联系整个流程。

实现思路

在云端服务器部署LAMP环境,demo中服务器环境如下:

  • Debian 9.3 X64
  • MariaDB 10.1.26
  • Apache/2.4.25
  • PHP 7.0.19-1

整个项目采用B/S架构,与服务器的主要通信是在Controller目录下的php进行交互。项目的主页是index.php,它通过cookie的方式实现了鉴权以判断用户是否登录,进而引导到不同的页面。用户在login.html实现登录之后,获取token存储在cookie之中,随后即跳转到main.html。为了防止用户通过恶意手段直接访问main.html以企图绕过登录,第一次打开main.html以及做任何操作之前都会进行一次鉴权保证安全。 整个系统采用了用户分级系统,具体等级如下:

  • 等级0:管理员,这一等级可以通过和删除申请,也可以申请教室。
  • 等级1:社联管理层,这一等级可以通过和驳回申请,但要填写理由,也可以申请教室。
  • 等级2:社联各教室负责人,这一等级只能查看自己所负责教室的已通过申请,不可以做任何修改,也不可以申请教室。
  • 等级3:各社团社长,这一等级可以删除自己提出的申请,也可以申请教室。

本着“拥抱新技术,减少静态html构建量”的原则,我们把所有功能都集中在了一个精简的main.html里面,并通过javascript根据用户等级实施动态调整,每一个功能模块也使用了Ajax动态加载技术,按需加载相应的功能模块和模态窗口,以期让系统更加简洁。 当社长点击教室列表之后,会自动加载可用的教室列表。点击申请则会向相应的申请数据库写入数据,等级0或者1的用户就已经可以在申请(管理)功能里面找到这一申请。申请被拒绝时,拒绝理由会发送到申请人的消息中心。而当申请被通过之时,将调用天润融通智能语音通知接口电话通知相关负责人,与此同时申请人也可以在申请列表找到自己已通过的申请,使用天润融通智能语音两端呼接口联系相关负责人。

现实意义

在任何东西都讲究“云”的当下,本系统可以顺利数字化学校中已有的老旧人工管理系统,提高处理效率和能力。与此同时,通过现成接口的调用,可以隐藏通话双方的电话号码,保护使用者的隐私。这无疑比目前的微信通知,电话联系更加高效、安全。

测试demo

demo地址:https://jp.gaojianli.tk/cas

classroom-applying-system's People

Contributors

13540285982 avatar gaojianli avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.