同乡会网站是一个典型的web2.0网站,类似于用 wordpress 搭建起来的网站。但是,类似的网站有很大的缺点,比如性能低下,功能扩展困难等。因此,有必要将同乡会网站彻底重构,实现自主搭建。
此项目的意义更多是用来锻炼自身的技术,以及增加项目开发经验。因此,学习好此项目中的技术点是最主要的。
博客,是web2.0出现后很广泛、典型的一类网站。因此,我们采用的技术,也同样是比较成熟和典型的web技术。经过对现有网站的分析,我们的基本技术架构为:
- PHP -- 主力开发语言
- Apache -- 服务器软件
- MYSQL -- 关系型数据库管理系统,与PHP称为黄金搭档 :)
- CodeIgniter -- PHP的一个MVC框架,容易上手
- bootstrap -- 前端框架
- jQuery -- JS库,方便DOM操作、Ajax操作
- Github -- 代码管理仓库,程序员必备 :)
上面列出来的库、框架等,都是相对成熟并被广泛使用。同时,也是相对基础的web技术内容。在这个项目中,要求我们最终能够熟练掌握好上面的内容。
项目前期,我们按照一定的流程来学习和理解上面的技术(上面没有列出HTML&CSS,默认已掌握):
- 理解和使用Github
- 学习JavaScript,了解DOM操作
- 学习使用 jQuery 和 bootstrap
- 安装Apache,了解服务器概念,B/S架构
- 学习和使用PHP,了解PHP解析过程、特性
- 学习和了解数据库相关内容,使用PHP连接MYSQL
- 学习和了解面向对象编程,使用PHP完成OO编程
- 学习MVC概念,使用PHP的CI框架
- 学习API设计,了解 REST 架构风格
- 学习自顶向下的分析方法,培养写Clean code的习惯
考虑到项目的学习意义更重要,以及技术能力的不足。因此,我们前期会用较多时间学习必要的技术。而后开始具体的项目开发,大致的开发计划如下:
- 技术学习、培训 (3-4周时间)
- 需求分析 (1-3周时间)
- 确定具体功能
- 模块划分
- 基础构建 (1-2周时间)
- 分析、设计、实现基础模块
- 设计API文档
- 大规模开发 (3-4周时间)
- 总结 (1周)
- 修复bug
- 确定新需求