教务管理系统(node+express+mysql)

模块拆分

现在将教务系统拆分成九个模块:

  1. 教务系统教师业务:师资管理、教学计划管理、排课管理
  2. 教务系统学生业务:考试管理、毕业生管理、学生综合测评
  3. 信息查询:自习室查询、课程表查询
  4. 考试系统:实现学生在线考试
  5. 视频系统:实现学生在线观看教学视频
  6. 评教系统:学生选课管理,教学质量评价
  7. 成绩查询系统:成绩管理
  8. 基础信息:学生管理、教室管理、教师基础数据
  9. 信息交流:实现与系统使用者进行交流

给如上模块排优先级如下

  1. 基础信息
  2. 教务系统教师业务
  3. 教务系统学生业务
  4. 考试系统
  5. 评教系统
  6. 成绩查询系统
  7. 信息查询
  8. 视频系统
  9. 信息交流

开发准备

安装环境

数据库 MySQL下载安装

下载node.js

其他准备

如上安装完成,可以进行如下操作。

  1. 安装 express   
npm install express -g

  2. 创建工程

express 你的工程名(墙裂建议使用英文)

  3. 安装依赖

npm install

  4. 在 package.json 的 dependencies 中新增, “mysql” : “latest”, 并执行npm install安装依赖

  5. 在conf目录中,编写mySQL数据库连接配置

// conf/db.js
// MySQL数据库联接配置
module.exports = {
    mysql: {
        host: '127.0.0.1',  // ip
        user: 'root', // 用户名
        password: '123456', // 数据库密码
        database:'test1', // 你数据库的名称
        port: 3306 // 端口
    }
}; 

  6. 创建 app.js 作为启动文件

  7. 创建 router.js 配置路由

  8. 解决跨域问题 npm i --save cors

  9. 在路由中进行跨域配置

app.use('*', function(req, res, next) {
        res.header('Access-Control-Allow-Origin', req.headers.origin);//注意这里不能使用 *
        res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
        res.header("X-Powered-By",' 3.2.1');
        res.header('Access-Control-Allow-Credentials', true); // 允许服务器端发送Cookie数据
        res.header("Content-Type", "application/json;charset=utf-8");
        res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');//设置方法
        if (req.method == 'OPTIONS') {
            res.sendStatus(200); // 在正常的请求之前,会发送一个验证,是否可以请求。
        }
        else {
          next();
        }
    });

总结

经过如上的环境配置,在结合模块的拆分,现在可以着手开发了。可以根据模块拆分部分所列的优先级进行开发,先把基础部分的完成,后面的可以先不做。软件开发的逻辑,先把基础部分先开发出来上线使用,后期的功能可以慢慢开发,以迭代更新的方式推送。

    

原文地址:https://www.cnblogs.com/xzsj/p/13518585.html