Skip to content

wujingshi/Student-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

学生管理系统

用node+mongodb+express写的学生管理系统

说明

刚开始自学node.js,发现挺奇妙的,但是对于部分后台响应处理还是有点不是很懂,继续努力吧。

考虑到很多初学者不是很懂npm方法,所以把插件包也一并上传,希望有帮助。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
☆☆☆☆☆☆☆☆☆☆☆☆     上线版本请看dist         源代码请看src   ☆☆☆☆☆☆☆☆☆☆☆☆☆☆
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

项目开发步骤

搭建项目基本结构

    ----根目录
        src
            app.js 项目入口文件,可以使用node app.js进行运行
            routers 项目所需路由存放的文件夹
            controllers 控制器存放的文件夹(业务逻辑性)
            statics 静态资源根目录(bootstrap、jQuery)
            tools 工具类所在文件夹
            views 存放html页面文件夹
        package.json 项目项目文件

登录模块

    1.获取页面
    新建一个和账号相关的路由 accountRouter 并写好代码
    在入口文件中,使用中间件形式,实现分流
    在控制器中设置登录模块读取页面的功能,并读取login.html返回给浏览器
    设置中间件处理静态资源
    2.设置验证码功能
    通过captchapng插件进行验证码处理
    3.登录功能
        通过express-session插件进行对验证码的临时存储和单一用户的验证
        使用ajax进行post请求登录,后台进行接收,并将验证码和session中的验证码比对
        通过mongodb插件设置链接数据库获取db对象

学生列表

    1.数据库中设置学生列表
    2.利用xtpl插件去渲染xtemplate模板,进行页面创建
    (利用继承的方式进行设置)
一、查询系统
    1.在查找方法中设置关键字
    2.发送请求的时候带上关键字
    3.后台设置的时候获取浏览器传递过来的关键字
    4.根据船体过来的条件去数据库中查询
    5.查询结果重新渲染到整个页面,返回浏览器呈现
二、新增系统
    1.设置新增页面
    2.保存学生信息到数据库中
    3.重新查询学生列表
三、修改系统
    1.根据mongoDB的特点,通过_id去数据库中查询对应的数据,并且渲染出来
    2.修改学生信息后,保存到数据库
    3.重新触发查询学生列表
四、删除系统
    1.同修改系统,通过_id去删除学生信息
    2.重新触发查询学生列表

用户权限设置

设置登录后才能进行‘增删改查’功能
1.主要通过all('/',(req,res,next)=>{})进行设置
2.将所有请求进行拦截,拦截到的请求,进行权限判断,如果有权限,让你继续操作,如果没有权限,让你跳转到登录页面

退出系统

1.弹出窗口进行判定是否退出
2.后台中将登录的用户信息进行清除,可以将值设置成Null
3.跳转到登录页面

密码加密

网上插件太多,操作方法会比较详细,这里就不说了。

最后一步,打包代码

很多项目设计无奈后,考虑到上线后的用户体验,一般都会进行代码压缩,所以用gulp进行压缩。

题外话

希望这个项目能给予跟我一样初学node.js帮助。node.js的功能还是挺强大,同时mongodb相对于其他数据库来说,感觉略微简单,一起努力吧!

About

用node+mongodb+express写的学生管理系统

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published