模块拆分

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

  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();
}
});

总结

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

    

教务管理系统(node+express+mysql)的更多相关文章

  1. Node + Express + Mysql的CMS小结

    因为之前用过上述的组合完成过很多系统,而这一次是为了实现一个帮助系统的静态网页发布.因为很久不写,重点说遇到的几个坑: 1.库版本的问题 比如mysql连接数据库一直报错,因为系统重装过,所以重新安装 ...

  2. node+express+mysql 实现登陆注册

    基于 node.express.mysql 实现的登录注册. 1.`首先在终端中 安装 node .` 2.`通过npm install express -g 命令全局安装 express`. 3.` ...

  3. 应用node+express+mysql 实现简单的增删改查

    记录下来备忘 1.准备好webstrom编辑器,编辑器调整字体大小等在file->settings->editor下设置 注册码 来源网上: 2017.2.27更新 选择“license ...

  4. node+express+mysql实现简单的数据增删改查

    前提 电脑已经安装了node,express,mysql. 实现步骤 1.新建数据库表 附数据表结构: 2.创建exprss项目 express -e myapp  新建一个以ejs为模板的expre ...

  5. 一个 "开箱即用" 个人博客全栈系统项目!vue+node+express+mysql+sequlize+uniapp

    " MG'Blog " 一个 "开箱即用" 个人博客全栈系统项目! 探索本项目的源码 » 前台预览 · 管理端预览 v1.0.2 小程序预览 v1.0.2 介绍 ...

  6. node express+mysql搭建简易API服务—body-parser中间件

    最近用express搭建了一个简单的RESTful风格的API服务,数据库使用mysql,主要用于获取数据库数据,模糊搜索等. 需要用到的模块: express:这个都很熟悉了: body-parse ...

  7. Node+Express+MySql实现简单增删改查和登录

    var express = require('express'); var mysql = require('mysql'); var app = express(); var bodyParser ...

  8. Node + Express + MySQL 接口开发完整案例

    https://blog.csdn.net/u013216976/article/details/85273770 https://github.com/Apache-Ra/node-express- ...

  9. 电商网站项目Angular+Bootstrap+Node+Express+Mysql

    1.登陆 2.注册 3.主页 4.购物车 5.管理中心 6.文件上传 代码: https://github.com/Carol0311/min_Shop.git 后期会持续进行功能更新以及开发阶段遇到 ...

随机推荐

  1. C#设计模式之3-建造者模式

    建造者模式(Builder Pattern) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/393 访问. 建造者模式属 ...

  2. C#LeetCode刷题之#1-两数之和(Two Sum)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3762 访问. 给定一个整数数组和一个目标值,找出数组中和为目标值 ...

  3. golang 中的struct理解

    golang实验代码 package main import("fmt") type Stu struct{ name string age int } func (stu *St ...

  4. DB2数据库错误代码大全

    SQLCode SQLState 状态说明 000 00000 SQL语句成功完成 01xxx XXX SQL语句成功完成,但是有警告 +012 01545 未限定的列名被解释为一个有相互关系的引用 ...

  5. python基本数据类型(三)

    字典{} 冒号前面是key(键)冒号后面是values(值)  键:值 ==键值对 1.索引 s={ 'name':'lifei', 'age':'', 'sex':'man' } print(s[' ...

  6. 【算法•日更•第三十二期】教你用出windows体验的Linux

    ▎前言 小编昨天闲的不行,就装了一个linux系统,linux的发行版很多,小编认为ubuntu很好用,于是就在使用ubuntu. 没错,我现在就在使用ubuntu来写博客. 刚才还装了一个QQ,不过 ...

  7. unity探索者之socket传输protobuf字节流(一)

    版权声明:本文为原创文章,转载请声明http://www.cnblogs.com/unityExplorer/p/6974229.html 近期在做一个棋牌项目,需要用到socket传输protobu ...

  8. idea Maven项目 包下载不下来或者已经下载了就是飘红

    0.先在settings.xml加上阿里的镜像在刷新试试 <mirror> <id>aliyunmaven</id> <mirrorOf>*</m ...

  9. IE9知识点汇总

    1.首先ie9不支持flex布局,只能使用float,要想支持ie低版本,两者要同时使用. 2.input框不支持placeholder属性,只能自己加span标签模拟出来,调整样式. 3.单个css ...

  10. 3.配置及其名ip映射

    sudo vi /etc/hosts 192.168.117.50 master192.168.117.60 slave1192.168.117.70 slave2192.168.117.80 sla ...