“北航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实践项目:推箱子 推箱子是一款来自日本的古老游戏,其设计目的是训练人的逻辑思维能力.游戏场景一般是设定在空间狭小的仓库中,要求把箱子摆放到指定位置.这就要求玩家巧妙的运用有限的空间和通道 ...
随机推荐
- cloudstack 添加新网卡使其能上网
由于虚拟机使用了默认的网络套餐,是不能上网的.现在的需求是使其能上网. 操作步骤: 1.添加一个在能上网的网络里的网卡,使其成为默认网卡 2.复制网卡配置文件,修改网卡名称等,重启network(可能 ...
- ASP.NET MVC中Section、Partial View 和 Child Action(转载)
概括的讲,View中的内容可以分为静态和动态两部分.静态内容一般是html元素,而动态内容指的是在应用程序运行的时候动态创建的内容.给View添加动态内容的方式可归纳为下面几种: Inline cod ...
- React实战一
目录 1. 搭建环境 2. React知识点 1. 组件 1.1 定义一个组件 1.2 组合与拆分组件 1.3 组件传值 1.4 state 1.5 生命周期函数 1.6 无状态组件 1.7 List ...
- Linux 和 ubuntu安装redis
Linux 下安装reids 下载地址:http://redis.io/download,下载最新稳定版本. 本教程使用的最新文档版本为 2.8.17,下载并安装: $ wget http://dow ...
- 20155212 C语言实现linux下pwd命令的两种方法
20155212 C语言实现linux下pwd命令的两种方法 学习pwd命令 通过man pwd命令查看 pwd [OPTION],一般不加参数 -P显示当前目录的物理路径 -L显示当前目录的连接路径 ...
- 2017-2018-2 20155315《网络对抗技术》Exp5 :MSF基础应用
实验目的 学会用metasploit进行简单的攻击操作 教程 实验内容 metasploit中有六个模块分别是 渗透攻击模块(Exploit Modules) 辅助模块(Auxiliary Modul ...
- 【转载】COM 组件设计与应用(四)——简单调用组件
原文:http://vckbase.com/index.php/wv/1211.html 一.前言 同志们.朋友们.各位领导,大家好. VCKBASE 不得了, 网友众多文章好. 组件设计怎么学? 知 ...
- 安装spark-1.5遇到的一些问题
1.java.lang.UnsatisfiedLinkError: org.apache.hadoop.util.NativeCodeLoader.buildSupportsSnappy()Z 这个问 ...
- lambda取两字符串的交集
取两个有规律字符串的交集,字符串的格式如下: “[3095139,9080109]” jar支持: fastjson 程序demo: import com.alibaba.fastjson.JSON; ...
- js简单时间比较的方法(转)
//时间比较(yyyy-MM-dd) function compareDate(startDate, endDate) { var arrStart = startDate.split(" ...