立项报告:实验班交流论坛
Contents
文章更新于:2016年12月23日 星期五 13时44分12秒 CST
来源:Github
实验班交流问答平台
A forum of experimental class. ;)
项目背景与意义
设立实验班交流论坛,是为了促进内部交流,内外交流,鼓励分享,活跃技术氛围。。
项目用户
面向全师生,质量驱动,通过高质量问答、发表优质文章来获取声望
项目功能
一期目标
用户档案管理
- 注册与登录
- 通讯录与档案,如项目记录、github、博客地址等等
- 单元测试(覆盖率90%以上)
文章系统
- 鼓励用户发表文章
- 评论,收藏
- 声望相应变换(做好接口)
- 单元测试(覆盖率90%以上)
二期目标
声望系统
- 基于声望值给予对应的行为规范,如支持与反对等
- 声望权限系统、声望变化接口
- 用户声望动态计算?
- 单元测试(覆盖率90%以上)
问答系统
- 鼓励具有高质量、代表性的提问,及高质量的回答
- 鼓励高质量回答
- 根据赞同与被赞变化声望
三期目标
内部公告与通知管理
- 公告看板
- 站点短消息
界面完善
- 调研,运营
项目实现方案
基本的系统架构与技术路线
系统架构
典型的BS架构,以浏览器的使用为主。目前主要以PC端交互为主,但部分关键或常用功能应保证移动WEB兼容性。同时,在技术架构上,应考虑全端支持的可扩展性。
技术路线
- 单页应用
- 前端 express(暂) 搭建的静态页面服务
- 后端技术栈 Python3 + Flask + MySQL.
- 开发与部署平台 *nix
- 项目托管 Github
- 项目原型 Quora & SF
因为流量不大,项目轻量,加上需要根据需求快速部署开发,所以选择py
不用node的原因是因为写腻了
第一次在项目中使用单元测试,使用的是py的unittest
附:单页应用的优缺点
作者:clia
链接:https://www.zhihu.com/question/20792064/answer/22784862
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
优点:
1、分离前后端关注点,前端负责界面显示,后端负责数据存储和计算,各司其职,不会把前后端的逻辑混杂在一起;
2、减轻服务器压力,服务器只用出数据就可以,不用管展示逻辑和页面合成,吞吐能力会提高几倍;
3、同一套后端程序代码,不用修改就可以用于Web界面、手机、平板等多种客户端;
缺点:
1、SEO问题,现在可以通过Prerender等技术解决一部分;
2、前进、后退、地址栏等,需要程序进行管理;
3、书签,需要程序来提供支持;
项目成员与分工
金云天
- 项目负责人:项目策划与管理、负责整体技术架构、团队管理
- 后台开发、运维、部署、总体单元测试
余小兰
- 前台开发:参与各关键功能的开发,web独立开发,测试
韩培
- 移动端:安卓独立开发,测试
项目的学习价值
本应用是典型的基于WEB的信息管理应用,利于掌握WEB应用开发的基本要素和技术
Flask是最好的WEB后端开发框架,其涉及的各种设计模式与开发技术,是后端工程师的必备技能。(雾)
可行性分析
- 该项目来源于我们正在进行的实践,持续的需求和即时的用户反馈将会推动项目的健康发展
难点与风险
- 需求并未定型,除了技术能力,还需要产品设计能力
- 工作量可能过小(老师说的)
- ….