最近半个月,一直在学习Node的Web开发,使用的Web的框架为express,模版引擎最后还是选用了ejs,相对于jade不需要学习新的语法规则,并且方便粘贴一些HTML代码片段,减轻了前端设计的好多工作,而更多的注重在后台业务逻辑的设计。前端CSS框架直接选用的bootstrap,简单配置并且能得到不错的页面外观。最后数据库选择的是Mysql,没别的原因,相对熟悉一点,不过也在学习mongodb相关的知识,这个小的评分系统就直接使用mysql做了。
所以这里针对Node Web项目的开发,在技术选择上是非常中庸的,如下:
Web框架:
Express
,没有选择Koa
是因为还不了解两者的本质区别;模版引擎:
ejs
,没有选择jade
仅仅是因为懒,不想重新学习语法,最重要的是网上HTML片段可以直接贴到ejs中使用,而jade不行;CSS框架:
bootstrap
,暂时不知道有其他的选择;数据库:
Mysql
,前期仅仅为了熟悉,不过正在学习mongodb,后面项目开发应该会选用Mongodb;
第一次使用Node做Web的开发,学习Node的相关知识其实也有一段时间了,只是从来没有动手写过一个完整的项目,这个评分系统可以算是我的第一个Node Web项目了。
最初想法
最初的想法是给部门学习会的评分使用,以往都是通过聊天工具发消息给统计人员,然后通过excel来统计评分以及计算平均分,这种方式感觉实在是太low了,并且碍于面子,所得分数基本没有差异化,于是秉着公正,公平,公开的理念,有了最初的想法。
实现的功能
统计平均分,实时显示
每个IP只允许投一次票
管理员才可以添加、修改、删除等功能
前台可以查看投票详情,但是看不到投票者IP
界面设计
全部使用bootstrap
的基本组件,没有写一句CSS
代码,前台页面分为index
、show
,后台页面有admin
、login
、edit
以及show
,show
页面公用,如果是管理员,显示出投票者IP以及可以做删除操作。界面样式如下图所示:
前台:
后台:
不足
没有做用户管理(注册,登陆等)。由于在内网,并且使用并不是很频繁,没有考虑做用户管理,管理员用户直接在数据表中插入数据进行的账户密码验证。
没有使用布局模版。由于页面比较少并且简单,编写前台页面的时候没有做模版复用,views文件夹每个
ejs
文件代表一个页面。没有使用
js
以及ajax
等异步验证功能。登陆页面直接后台逻辑匹配并刷新页面。
当然还有代码质量上的一些问题就不一一列举了,由于本人编程水平实在一般,第一次写Node Web项目,业余两天内完成的,诸多纰漏在所难免,忘见谅。
这里主要记录了该评分系统的一些基本信息,后面接着介绍一下,一些功能的具体实现,希望能帮到正在学习Node Web开发的诸位。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。