初入广金时,我就发现广金跟大多数学校不同。 相比于很多高校来说,他太年轻了,缺失太多东西。 以网络空间为例,虽然有广金后院的存在,但是已经名存实亡,广金连一个稳定的学生虚拟社区都不存在,只能是去微博树洞。
我始终认为,BBS类的应用在高校中是很有必要存在的。 微博这类碎片化的应用,不利于学生利用网络来沉淀学识。 百度贴吧本来是个好的平台,但是自主性有太低了。
所以我决定自己动手,建设一个无盈利,纯为学生服务的网上社区。
广金在线是我大二时创建的项目,当时想法很天真,以为自己看到这方面的实际空缺,那么只要开发出产品了,就一定能抢占局面。
事实证明我犯了大多数技术人的错误:太着重技术。
在beta版本推出后,我就尝试去组建团队,寻找更多人来支持这个项目。 但是这时我发现,团队人员很难招募,因为我坚持非盈利,所以很多人都对项目兴趣不大。
所以初期我只能是邀请了我女友做宣传工作,可惜人力微小,收效很低。
既然无法搞好宣传,那我就专心搞技术吧。 再之后的好几个月时间,我努力去完善该站,希望能吸引更多人:换上支持响应式的bootstrap,天天琢磨着如何开发更有用的功能。
可惜啊,ALL FALSE.
在认真考虑一段时间后,我决定把www.gdufer.com开源。 一是为开源世界奉献一份力量; 二也是希望以后的广金师弟师妹如果有同样的想法,可以节省精力,集中精力去完成自己的理想目标。
GDUFER整站是由PHP+MySQL组成,其中PHP源码基于Kohana出发。
Kohana是我最喜欢的框架,最早接触的时候可以追溯到高中,那时候刚release了Kohana3.0。我阅读了代码后,果断放弃了已经用TP写了一半的博客程序,换用KO来写。
当时的KO很比较简单,所以我一直对其框架代码进行修改,并用于自己的博客程序中,博客程序命名为XunSec(一直没公开)。
XunSec实际大改了很多次,每次在阅读其他源码,看到一些新的特性时,我都忍不住把它按照新的思路来重构一次。WP、Sablog-X、Joomla,基本都模仿了一次。呵呵。
大二开始写GDUFER时,为了方便,我直接就原来的XunSec进行了修改,并把原来的KO3.0升级到KO3.3,同时参考了ZF的类组织方式,好一番折腾。。。
一路折腾到现在,整套源码已经趋向于比较完整了。
目前已测试过Apache、Nginx、Tengine; 兼容SAE平台(当然有一些地方还是需要你自己修改下的喔); BAE不熟悉,所以没处理,不过理论上兼容也是没问题的。
Kohana使用了modules来组织第三方模块,同时可以很方便地扩展框架功能。具体的内部设计,各位可以研究下Kohana的Request Flow。
一些功能性的modules有:
- Forum 论坛功能
- Auth 用户验证等功能
- Contact 用户留言功能
- Gduf 广金校内一些特殊功能,如校内邮箱登陆,教务系统登陆
- Guide Kohana自带的用户手册
- Information 未完成的信息分类功能,目前只支持Book类型(也就是书籍发布)
- Shop 未完成,商铺功能。
- Weibo 微博发布功能,可作为树洞发布端。
- XunSec 最重要的功能,提供了以页为单位的CMS管理,同时为其他应用级的module提供助手方法
如果有需要制作APP的话,可以直接使用简网之类的在线工具把网站转成APP。当然你也可以直接写个WebView来搞掂(iOS的不懂啊,只会点Android)。
希望以后在广金能接触更多热爱开源的朋友,我的丘丘是二五八零三四⑦①。
最后就是,因为最初未考虑过要开源,所以并没太在意代码来源。如果发现代码中有缺失版权声明,麻烦联系下我修正。谢谢。