这次,我回来了,带着自己的php+nosql开源论坛程序

爱码士倒计时页面: www.2ma4.com/countdown 曾经开发的quoracms,也许早已淡出大家的视线,去年一直以来,我就想打造一个专为极客和码农们热烈交流的社区,纵观国内IT论坛,基本都是一个帖子下面平行分布各种回复,每个回复之间通过@相连接,有时经常都要找半天这个人到底是在回复谁?比如ruby-china,phphub,V2EX,cnodejs,golang中国 等等,这些社区都做得很精美小巧,但是,却难以将回复者之间的关系调动活跃起来。 去年8月份,我便开始动手编写“爱码士”这个论坛,我希望回复者能够像网易盖楼那样,一层一层彼此热情高涨,在设计过程中我参考了网易盖楼和disqus等网站的盖楼设计,但这些设计都不是太完美,逐渐向内缩进的盖楼意味着盖楼的楼层数始终有个最大值,印象中网易盖楼到70层时便塌楼了,因此,我设计了一种新的“堆栈式”盖楼设计: 盖楼一层层向上推进,理论上支持无限多的楼层 在前端方面,码农们眼中从来都是干净、整洁、纯粹的东西是最美的设计,因此,我将爱码士整个论坛都设计的非常干净简单: 帖子页: 站内私信发送: 个人profile页: 在系统架构上,爱码士使用了经典的MVC架构,这个MVC也是内置在自己编写的一个很小巧的php框架中,系统存储采用了国人开发的一款基于Google leveldb的nosql:ssdb(http://ssdb.io/zh_cn),ssdb简单的说就是一个存储在硬盘上redis,其使用协议和redis相同,但由于数据全部存储在硬盘上,并且支持亿级数据,因而扩大了容量的同时大幅降低了成本。相对于传统的php+MySQL+memcache(or filecache)后端设计,ssdb可以多出很多特性,比如setx可以限制用户频繁对一个帖子进行回复:爱码士将每个人对于一个帖子的回复setx一个有存活时间的flag,在这个flag存活期内,用户无法再对这个帖子进行回复。但用户发送私信行为不能用setx进行限制,不可能让用户每隔10分钟发送一条私信吧,万一有多条连续重要的私信呢,这时,借助于ssdb的list特性,我们可以为每个用户发送私信的时间戳设置一个队列,尾部入栈,顶部出栈,这样,用户在规定时间内发送次数多于某个预设值时阻止发送。 在盖楼的数据库设计方面,为了达到回复内容的可控性,我没有把回复HTML写死在数据库里,而是将回复reply_id以json形式存在hashmap中 系统帖子排序分为“默认排序”和“最新帖子”,默认排序是按照stackoverflow的算法,感谢阮一峰老师提供的这篇文章:http://www.ruanyifeng.com/blog/2012/03/ranking_algorithm_stack_overflow.html爱码士的默认排序也是按照这篇文章中的算法进行排序的。 整个爱码士编写大概耗时半年,其中个人感觉最难的就是私信发送系统了,私信没有采用websocket,php不适合干这个,也没有采用长轮询的方式,而是js setinterval定时请求,通过jquery trigger click刷新按钮请求服务器,由于第一次使用nosql编写这个在线聊天系统,可能会有考虑不周的bug出现。 系统前端只引用了jquery库,为了界面美观干净,没有使用臃肿的bootstrap,全站公用一个global.js和base.css,站长二次开发的时候会很方便查看代码 从mockup构想,到HTML和css UI设计,然后是后端架构和数据库设计,到最后的js Ajax前后调用,自己花了半年的时间完成,希望大家能尊重劳动成果,一个人开发所以bug难免,加之第一次使用ssdb,希望大家能抱着平和的态度指出bug,目前倒计时页面已经放出,系统目前PC版已经制作完成,mobile端正在制作中,待bug修复完毕后,我会将PC端代码以安装包形式上传至github供站长二次开发和安装
    已邀请:

    bingo

    赞同来自: shinebay lioves

    不错,真的很漂亮,已加入qq提醒,期待ing

    zengyufly - 一问三不知!

    赞同来自: oushanzhe

    很期待,符合我的审美!

    oushanzhe - www.78585.org,富士康员工关爱中心,专注心理咨询及社会化问答服务!让每个需要帮助的人都能得到帮助。

    赞同来自: 快网

    说实话,这种盖楼方式也并不是很好,就像图中第三级回复有三个回复,请问三级回复中的第三个回复是应第一个回复还是第二个回复?很明显分不清!

    快网 - www.yirenji.com

    吓我一跳,免费就顶,新作品就顶。别不负责就好,等出来我就用一下
    不多说,干得漂亮!
    帖子需要美观,插入图片,能再首页显示。对各个行业,也能很好的使用嘛  

    shuyukui - www.fuluntan.com

    顶牛人!
    又造了个轮子?还是...
    NOSql 可以在我的apache服务器里跑吗?
    同问啊同问啊同问啊同问啊同问啊

    战国乱 - 走过来走过去再走过来走过去

    很清新啊

    Ignorant - 真户外 http://www.zhenhuwai.com

    顶既会写后台又会写前端的码士

    sinowlc - nothing

    貌似还不错,支持下

    jhack - http://www.wen58.com

    支持,看起来不错。
    又一个开源,精神勇气可佳,先默默支持一个; 然后我又想这个帖子为什么没被删除呢?可见wecenter的团队多么的仁慈。

    comwe - 一句话介绍

    不错 厉害啊

    百转千回 - 宿迁帮 http://www.suqian.help/

    就没人说网站打不开来

    spendl - WeCenter运营交流群:188012349,模板交流群:12016350

    曾经的quoracms归回了,quoracms出现就开始关注了,跟WC一样都是看好的程序。 加油吧,骚年~

    大象无形 - 小逗比 http://www.xiaodoubi.com

    欢迎quoracms作者的归来!支持!

    heyixian - 不过如此烟云

    阿斯顿
    阿斯顿
     

    bioor - 想创业的小蚂蚱

    欢迎回来

    龙天 - 好玩

    论坛已死!!

    roger - 视觉设计师

    吓我一跳,挺漂亮的,不过怎么感觉和wecenter还是有点像
    你采用的是话题,还是分类?

    jiekii - Coder

    很棒的模板风格

    该问题目前已经被锁定, 无法添加新回复