“北航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实践项目:推箱子 推箱子是一款来自日本的古老游戏,其设计目的是训练人的逻辑思维能力.游戏场景一般是设定在空间狭小的仓库中,要求把箱子摆放到指定位置.这就要求玩家巧妙的运用有限的空间和通道 ...
随机推荐
- easyui div 上下布局 最大化按钮 隐藏标题
背景:easyui在做上下布局的时候,上面是数据列表,下面是数据图表.如下图 需要在上下面板右上角加上最大化按钮,以便可以全屏显示.逻辑就是当上面点击最大化时候,隐藏下面,主意:此时需要将下面的div ...
- 【Mac 快捷键】 (不定时持续更新)
显示/取消显示隐藏文件 command + shift + .
- 20145234黄斐《Java程序设计》MyDC
http://git.oschina.net/jiataiji/java
- vue-cli打包后,图片路径不对
在config文件夹下的 index.js 里面,查找build,在builid方法里面,添加一行:assetsPublicPath: './' 例: 在build文件夹下的utils.js里面,查找 ...
- 【大数据】Hbase如何批量删除指定数据
一.起因: Hbase是一个列式存储,nosql类型的数据库,类似mongodb. 目前似乎没有提供批量删除的方法,只有一个单行删除的命令:deleteall 'tablename', rowkey ...
- OpenStack入门篇(二十)之实现阿里云ESC多FLAT网络
1.给两台虚拟机增加网卡,使用仅主机模式,网段为:192.168.57.0/24 2.修改两台主机网卡配置 [root@linux-node1 ~]# cp /etc/sysconfig/networ ...
- Spring MVC的Rest URL 被错误解析成jsp, 导致404错误(XML方式下@Controller和@RestController需要配置<mvc:annotation-driving/>)
问题: 最近在原有MVC的WEB应用中添加一个REST服务,结果始终报404错误.把 Spring debug 日志打开,发现处理REST请求的Controller已经正确进入 [org.spring ...
- python并发编程之多进程理论知识
一 什么是进程 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 举例(单核+多道,实现多个进程的并发执行): egon在一个时间段内有很多任务要做:python备课的任务,写书的任 ...
- 阿超的烦恼 javaScript篇
幼儿园级1-100随机数运算 实现目标 1.点击随机生成两个数并进项随机的四则运算. 2.答案暂时隐藏,等孩子做完题后点击答案处显示答案. 3.背景设置的卡通些,激发孩子阅读兴趣........... ...
- Charles 抓包使用教程
将 Charles 设置成系统代理 Charles 主界面介绍 过滤网络请求 截取 iPhone 上的网络封包 截取 Https 通讯信息 模拟慢速网络 修改网络请求内容 给服务器做压力测试 修改服务 ...