Node.js + Express 构建的订餐系统
Node.js的版本 - v0.8.12
Express的版本 – v3.3.3 (安装 $ npm install -g express)
系统的登录逻辑是:获取用户名 + 密码,向内网RTX服务器验证身份,成功后设置session。
系统所有页面判断是否有session,如果没有则跳转至首页。
系统用到的组件模块列表:
express - v3.3.3 npm install -g express
express-autoroute - v0.0.2 npm install express-autoroute
ejs - v0.8.4 npm install ejs
less-middleware - v0.1.12 npm install less-middleware
mysql - v2.0.0-alpha8 npm install mysql@2.0.0-alpha8
mysql-queues - v1.0.0 npm install mysql-queues
request - v2.22.0 npm install request
xml2json - v0.3.2 npm install xml2json
connect-mysql-session - v0.1.3 npm install -g connect-mysql-session
forever - v0.10.8 npm install forever -g
具体的代码就不贴了,附上几张图和系统源码下载。各组件模块的使用在各自的主页中都有使用说明。
前台界面使用了Bootstrap
小结:这个系统花了大概四个晚上的时间,上面那些组件模块在web开发中已经足够使用了,至于说数据库换成其它的例如Mongodb等,只需要改改sql那里的写法就可以了。
后台使用node.js,我的一个感觉就是开发速度很快,路径、参数与配置,只需要几行代码就可以搞定,比较灵活。最重要的一点就是前后台的数据可以完全共用,模块也可以完全共用。而且并发和响应速度,我的感觉是相对php来讲,更快一些。按住f5不停的刷新,在我本机上也不挂掉(每个页面请求几乎都有数据库连接请求),之前我用php写的一个系统多刷几次可能响应不过来(可能代码写的也有问题吧:<)。
Bootstrap + Node.js、懂一点sql相关的知识,那么前后台开发,基本上一个人就可以完全搞定了。
系统虽小但也算五脏俱全了,我相信比某本书上写的微博系统更有价值一些。最后我决定放出源码,虽然时间很仓促,代码有些凌乱,但希望对想学习Express和Node.js的人有些作用吧。系统除了后台数据库的表结构未说明外,其它都有源码。如需要表结构,请单独给我发E-mail(地址在哪?请看页面左上角><)
表结构我放到github上了,地址:https://github.com/zhangyi/tutorial/blob/master/sql/mixi.sql
代码写的比较凌乱,所以未经许可,不允许转载,要拍砖,在这个页面单独拍就好了。代码的版权归Meteoric_cry所有,谢谢!
Node.js + Express 构建的订餐系统的更多相关文章
- Nodejs学习笔记(六)--- Node.js + Express 构建网站预备知识
目录 前言 新建express项目并自定义路由规则 如何提取页面中的公共部分? 如何提交表单并接收参数? GET 方式 POST 方式 如何字符串加密? 如何使用session? 如何使用cookie ...
- Nodejs学习笔记(六)—Node.js + Express 构建网站预备知识
前言 前面经过五篇Node.js的学习,基本可以开始动手构建一个网站应用了,先用这一篇了解一些构建网站的知识! 主要是些基础的东西... 如何去创建路由规则.如何去提交表单并接收表单项的值.如何去给密 ...
- modeJS 深了解(1): Node.js + Express 构建网站预备知识
转载:http://www.cnblogs.com/zhongweiv/p/nodejs_express_webapp1.html 目录 前言 新建express项目并自定义路由规则 如何提取页面中的 ...
- Node.js+Express搭建博客系统基本环境安装
1.下载安装node.js 官网下载地址:https://nodejs.org/en/download/ 2.安装express. 打开node命令行工具,在命令行中输入:npm install -g ...
- Nodejs学习笔记(七)--- Node.js + Express 构建网站简单示例
目录 前言 新建项目.建立数据库以及其它准备工作 新建express + ejs 项目:sampleEjs 创建数据库 修改package.json文件,安装session和mysql模块 样式和JQ ...
- Nodejs学习笔记(七)—Node.js + Express 构建网站简单示例
前言 上一篇学习了一些构建网站会用到的一些知识点:https://www.cnblogs.com/flyingeagle/p/9192936.html 这一篇主要结合前面讲到的知识,去构建一个较为完整 ...
- Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例
目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mys ...
- [转]Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例
本文转自:https://www.cnblogs.com/zhongweiv/p/nodejs_koa2_webapp.html 目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装 ...
- Nodejs学习笔记(十五)—Node.js + Koa2 构建网站简单示例
前言 前面一有写到一篇Node.js+Express构建网站简单示例:http://www.cnblogs.com/zhongweiv/p/nodejs_express_webapp.html 这篇还 ...
随机推荐
- Qt_mingw搭建opencv开发环境
Qt在windows下共有2个版本:mingw和msvc.其中mingw使用gcc编译器,msvc使用微软的VC编译器.针对不同版本Qt,使用Opencv的方式也不同. 区别 msvc, 可以使用op ...
- web程序快速开发
关于web程序快速开发个人见解以及经历 由于在之前公司业务的发展,需要在基于核心业务的基础上开发其他较为独立的业务系统,所以就有了这个基于Dapper,DDD概念的基础框架,由于个人基于这个框架已经经 ...
- 【LOJ】#2075. 「JSOI2016」位运算
题解 压的状态是一个二进制位,我们规定1到n的数字互不相同是从小到大,二进制位记录的是每一位和后一个数是否相等,第n位记录第n个数和原串是否相等,处理出50个转移矩阵然后相乘,再快速幂即可 代码 #i ...
- 【LOJ】#2073. 「JSOI2016」扭动的回文串
题解 就是一个回文串拼上左右两端 类似二分找lcp这么做 可以直接用哈希找回文串 注意要找A串前半部分,B串找后半部分 代码 #include <bits/stdc++.h> #defin ...
- 2018 Arab Collegiate Programming Contest (ACPC 2018) H - Hawawshi Decryption 数学 + BSGS
H - Hawawshi Decryption 对于一个给定的生成数列 R[ 0 ] 已知, (R[ i - 1 ] * a + b) % p = R[ i ] (p 是 质数), 求最小的 x 使得 ...
- 如何快速切换Python运行版本,如何选择Python版本
想必在学习Python时会面临选择Python2.X或者是Python3.X的问题. 我在电脑上不同位置下载安装了不同版本 的Python,当我在学习时,不管是需要哪一个版本才能运行都无所谓,相应的快 ...
- 玩转SpringCloud(F版本) 二.服务消费者(2)feign
上一篇博客讲解了服务消费者的ribbon+restTemplate模式的搭建,此篇文章将要讲解服务消费者feign模式的搭建,这里是为了普及知识 平时的项目中两种消费模式选择其一即可 本篇博客基于博客 ...
- Django模版语言inclusion_tag的用法。
inclusion_tag.它多用于一个HTML片段的.例如我写的一个BBS项目中. 一个博主的主页面的左侧栏和查看博主某篇文章的页面的左栅栏的一样的.为了不用重复写同样的代码.且提高页面的扩 ...
- Codeforces Round #371 (Div. 2) D. Searching Rectangles 交互题 二分
D. Searching Rectangles 题目连接: http://codeforces.com/contest/714/problem/D Description Filya just lea ...
- mySql---数据库索引原理及优化
一.写在前面 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型 ...