Skip to content

tangguangyao/stock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bacab14 · Feb 27, 2014
Feb 19, 2014
Feb 27, 2014
Feb 21, 2014
Feb 10, 2014
Feb 21, 2014
Feb 16, 2014
Nov 12, 2013
Dec 26, 2013
Dec 20, 2013
Jan 9, 2014
Feb 24, 2014
Feb 15, 2014
Feb 12, 2014
Jan 3, 2014
Jan 13, 2014
Jan 2, 2014

Repository files navigation

项目目的:

  • 边学边实践,项目中使用npm中比较热门的插件,
  • 例如redis实现缓存;
  • grunt实现前端代码管理;
  • async实现流程控制;
  • gm实现图片大小处理;
  • socket实现及时通信;
  • mocha实现单元测试
  • 还有前端使用angularjs
  • 增加requirejs模块化

功能:

  • 股票页面聊天室功能:

a. 聊天室以股票为单位,同一个用户可以进入多个股票的聊天室进行聊天

b. 聊天记录可以设置缓存数量,默认为20条,如果超过20条会存储到数据库中,当聊天室中没有用户也会将聊天内容存入数据库中

聊天室代码: https://github.com/tangguangyao/stock/blob/master/models/socket.js

  • 微博类似的话题,评论,回复,转发功能,前端使用angularjs绑定实现

  • 页面实时交互,包括关注股票,关注用户功能

  • 股票页面能查看讨论这个股票的话题

  • 个人页面能查看我关注的用户的话题,关注股票的相关话题,我的话题,@我的话题

  • 加入grunt管理代码,引入uglify压缩代码,jshint检测代码规范,watch监听代码变化

  • 使用mocha检测后端代码 检测代码在test中 总结mocha单元测试经验 http://hi.baidu.com/tang_guangyao/item/302a9d1a9976c06ae65e0643

  • 加入async流程控制,对于需要多次回调查询数据库的进行重构

  • 尝试bigpige,首页利用bigpipe,加载热门股票和热门用户,并且和angular结合使用

  • 使用外网免费数据库https://app.mongohq.com

  • 跨域请求的雪球网具体股票数据

  • 增加redis插件尝试(需要安装redis客户端http://redis.io/,推荐一个redis管理工具mac和win都可以使用http://redisdesktop.com/ ),首页点击我的评论,对我的评论加上redis处理,如果有缓存加载缓存内容,如果有缓存,但是在首页评论过,则去数据库取数据并且更新缓存

更新说明:

  • 因为股票具体数据是跨域请求的雪球网接口,雪球接口的参数会定时改变,所以对接口参数处理了一下,放入views的top.ejs文件中。

  • 重构部分前端

  • 增加requirejs模块化

安装方法:

首先安装nodejs,mongodb,redis(缓存使用),imageMagick(图片处理使用)

git clone https://github.com/tangguangyao/stock.git

npm install

node app.js

访问网站:

备注:

  • 由于第一次正式尝试angularjs,所以没有用好,仅仅用上了数据绑定的功能,这个项目如果用angularjs做前端的话,其实做单页更加好,这样可以省掉后端的ejs模板。
  • 下一步重构可以考虑合并为单页模式。
  • 另外angularjs的每个控制模块太大,里面包含功能太多,也需要拆分。

About

angularjs+mongodb+redis

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published