“北航Clubs”项目汇报
一、项目展示
二、用户的痛点与需求
1.北航学生,在百团大战之后,很难再有渠道加入社团,了解社团活动,简直如蒙在鼓里!
2.当你周末想参加一些活动,充实一下枯燥的求学生活时,却发现不知道有哪些社团有活动!
3.社团组织活动,消息扩散基本局限在本社团的若干人中,宣传渠道总是打不出去。
4.活动组织活动时,需要将所有人手机号存入手机才能发送短信通知,相当麻烦!
5.社团组织招新,收到一叠厚厚的手写的社员注册信息,每年将信息录取电脑都相当痛苦!
。。。社团活动组织过程中,遇到的问题还有很多,身为北航最活跃学生社团——北航凌峰社的一个部长,我深切体会得到社团组织的困难、社团与学生无法直接信息交流的痛苦,所以,我决定为北航做一个“北航Clubs”社团平台!
三、我们已经实现什么?
1.当你想知道这周末有什么活动时,上“北航Clubs”,首页就是近期活动列表!
2.当你想报名时,你只需要先注册,登陆后,点击报名,社团就可以获得你的邮箱与手机号,给你跟进的通知!
3.当社团想发布活动,宣传活动时,不需要海报,不需要微信公众号,因为“北航Clubs”是全民皆知的权威社团平台,在这里发布你的活动,想参加活动的同学一定会收到你的活动信息!
4.当社团想给报名社团学生通知时,不需要繁琐的信息录入,在“北航Clubs”后台的活动名单界面,点击发送短信,一键通知!
5.还有很多用户细节。。
四、我们是如何实现这些功能的?采用了什么样的技术?
1.我们后端使用rails提供API服务,前端使用ajax技术实现动态加载前端数据,使用JS的DOM操作实现网站用户,使用SemanticUI实现前端界面
2.使用API的前后端交互方式,为将来的移动端扩展性提供了最便捷的支持
五、项目开发中的经验与教训
经验之谈
1.软件架构设计提高开发效率
在进行开发前,我们制定了API文档,规定了API各项参数与细节,使得前端后端可以完全独立开发,互相不受干扰与影响,专注于自己的技术领域,学习成本降低,开发效率提升。
2.任务的细化可以让每个队员都贡献力量
通过API文档,将项目任务细化为前端与后端。
后端采用rails框架,自带MVC结构,后端三人分别去做Model层、Controller以及Router
前端采用界面与JS代码分离开发的方式,将任务分为UI设计与界面实现、界面动态化展示。
于是任务以比较平均的方式细化到每个人身上,为每个人设计了自己的关注焦点,调动起团队的力量。
3.要有一个不写代码,专门解决问题的人
这个人就是PM。PM的职责不单单是设计项目技术方案,推动前后端进展,督促节点任务完成保证项目进度,还有为可能的技术难题做“预热”,提前查询技术难题的解决方案,做到心中有数,保证大方面上项目技术路线的可行性。
4.每周例会,不是形式
每周的例会推动项目不断进展。每次到周会前,项目都会“进展神速”,实现本周要求的任务。
每周例会主要议题有两个,第一个是该周目标与任务安排,第二个是介绍采用的新的技术方案or开发工具、开发方式。第一个议题,使每个队员明确自己的任务,任务明确,是一个开发人员进行开发的最大动力。第二个议题,使队员知道接下来将如何和队友合作,如何什么样的技术实现将要开发的功能。
比如,我们在讨论用户状态控制时,涉及到后端的Token存储、API调用、前端sessionStorage存储以及header传递身份信息的验证方式,将整个技术流程介绍完毕,前后端队员就理解如何更好的和对方配合了。
教训之谈
1.API文档要保证最新且真实可用
作为最重要的团队文档,API文档应该被精心维护,有动态更新应及时告知队友。
团队开发中,比较浪费效率的一次就是后端更改了API的一个参数,没有及时更新API文档,导致前端开发队员苦调半天而无果。
2.前端重于后端
一开始,项目侧重于后端,因为数据的存储、API的提供、服务器环境的配置直接关系到项目能否顺利进行,因而比较看重。然而真正开发两周后,却发现,后端重要归重要,在一定规模层级之内,后端的开发也是最轻松的。
相比而言,前端开发才真是叫苦不迭,界面绘制已经很坑了,前端JavaScript代码更是难于编写与维护,因为写JS代码涉及到方方面面的相关知识!而且,前端不好看,对项目的用户体验、展示效果都是致命伤。所以在一轮迭代开发后期,项目侧重点是偏向了前端的。而如果一开始就能对这样的情况有所了解,我们会少走很多弯路。
六、当前的用户数据
用户数量:57
发布到现在总访问量:1737
七、我对“北航Clubs”更多功能的期待
1.为社团提供社团校内网盘存储功能,因为每年社团换届都会有大量的资料遗失!资料汇总成本相当高!
2.实现网站实名化、手机与邮箱验证。只有用户实名,活动报名行为才有意义
3.实现评论功能
4.实现自己的图片存储服务
5.实现社团报名与社团成员管理系统,对于方便社团管理的重要性不言而喻
6.继续强化消息推送机制!除手机、邮箱之外,再增加微信平台消息通知系统!
7.社团电商,社团有很多文化品,这些文化产品需要一个统一而权威的平台展示并销售!
八、“北航Clubs”的愿景
我们希望,北航学子不会再找不到了解社团、接触社团的渠道。
我们希望,北航社团不会再为活动找不到学生参加、社员管理事务繁琐而苦恼。
我们希望,“北航Clubs”可以让社团享受到“互联网+社团”带来的社团管理、运营模式上的革新。
我们希望,北航的学生提到社团,第一个会想到“北航Clubs”,去“北航Clubs”上浏览最新的社团动态成为爱好参与活动同学的常态。
我们希望,每学期一度的“百团大战”可以成为一场“北航Clubs”上的社团狂欢Party。
我们希望,我们的作品能给这所学校,这所学校中的学生们,带来一点点改变,留下我们在这所学校的印记。
“北航Clubs”项目汇报的更多相关文章
- “北航Clubs”功能规格说明书
1.项目目标说明: 北航Clubs的初衷是服务社团,服务学生,满足社团与学生的信息互通的需求.社团管理运营方便的需求. 建设网站的目的是使学生可以在一个权威可信的网站上获取到社团实时的动态,社团活动的 ...
- “北航Clubs” Alpha版发布!
一.功能 1.获取活动信息: 用户进入网站后,第一眼就可以查看到近期活动 2.查看活动详情 点击活动标题,可以进入活动详情页面 3.注册功能 首页点击注册,输入学号.密码.姓名.手机号即可完成注册 4 ...
- Android实践项目汇报(四)
全国天气客户端 本周学习计划 添加修改功能,完成项目 实际完成情况 1.成功显示当天及后几天的天气信息 通过修改chaxun.java程序,比较JSON数据格式中JSONObject("to ...
- Android实践项目汇报(三)
Google天气客户端 本周学习计划 调试代码使之成功运行并实现天气预报功能. 实际完成情况 由于google取消api接口服务,天气源的传输.所以我换了一个使用 haoserver API接口的程序 ...
- Android实践项目汇报(二)
Google天气客户端 本周学习计划 学习布局控件和XML解析的相关知识. 看懂程序代码. 把借鉴代码成功导入到Android Studio中并运行成功. 实际完成情况 我学习到布局控件XML在res ...
- Android实践项目汇报-改(一)
Google天气客户端NABC Need(需求): 功能性需求分析 天气预报客户端,顾名思义就是为用户提供实时准确的天气信息,方便用户出行生活.根据用户日常需求,软件完成后点开,载入界面,显示查询界 ...
- Android实践项目汇报(一)
# 我要做的是Google天气客户端 一.Need(需求): 1. 功能性需求分析 天气预报客户端,顾名思义就是为用户提供实时准确的天气信息,方便用户出行生活.根据用户日常需求,软件实现后所达到的功能 ...
- Android实践项目汇报总结(上)修改
微博客户端的设计与实现(上) 第一章 绪论 1.1课题背景 微博可以说是时下最受人们所喜爱的一种社交方式,它是一种通过关注机制分享简短实时信息的广播式的社交网络平台.通过微博我们可以了解最新的时事新闻 ...
- Android实践项目汇报
Android实践项目:推箱子 推箱子是一款来自日本的古老游戏,其设计目的是训练人的逻辑思维能力.游戏场景一般是设定在空间狭小的仓库中,要求把箱子摆放到指定位置.这就要求玩家巧妙的运用有限的空间和通道 ...
随机推荐
- 404 Note Found 队-Beta1
目录 组员情况 组员1(组长):胡绪佩 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示组内最新成果 团 ...
- 统计单词出现的最多次数(Trie树)
A Time Limit: 60ms Memory limit: 65536K 有疑问?点这里^_^ 题目描写叙述 给出n(1<= n && n <= 2*10^6) ...
- Oracle ora-12514监听程序当前无法识别连接描述中请求的错误
昨天刚安装好oracle数据库,还可以登录,到今天,登录时就发出了这样的错误 到网上找了半天,上面都是说监听器服务的问题,但是试过后依旧不行.最后重启了一次,就解决了异常 原来是oracle中一个服务 ...
- 聊聊iOS Keychain
某天,小熊碰见这样一个错误 Couldn't update the Keychain Item问题处理 ,网上搜索了下网上很多解决方案,依然百撕不得骑姐.后来参考下面两篇文章.才发现是用法不正确,网上 ...
- mysql/mariadb学习记录——查询
连接查询:同时设计两个及以上的表的查询 连接条件或连接谓词:用来连接两个表的条件一般格式: [<表名1>]<列名1> <比较运算符> [<表名2>]&l ...
- Linux基础入门 第二章 Linux终端和shell
Linux终端 进入编辑IP地址命令:vi /etc/sysconfig/network-scripts/ifcfg-eth0 按键“i”:进行编辑 按键“ESC”:退出编辑 按键“:”:输入wq, ...
- C中gets()函数与scanf()函数说明
scanf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别.若想从键盘上输入字符串"hi hello",则应该使用 gets 函数. gets可以接收空格:而sc ...
- C++引用的用处
原文:http://www.cnblogs.com/ddx-deng/archive/2012/12/16/3755864.html 一.什么是“引用”?声明和使用“引用”要注意哪些问题? 答:引用就 ...
- Kali-linux本地权限提升
上一节介绍了窃取目标系统令牌,现在来介绍窃取令牌后如何提升在目标系统上的权限.提升本地权限可以使用户访问目标系统,并且进行其他的操作,如创建用户和组等.本节将介绍本地权限提升. 同样的实现本地权限提升 ...
- 2017-2018-1 20155330 《信息安全系统设计基础》加分项目--实现mypwd
2017-2018-1 20155330 <信息安全系统设计基础>加分项目--实现mypwd pwd命令 命令功能:查看"当前工作目录"的完整路径. 通过man命令查看 ...