“北航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实践项目:推箱子 推箱子是一款来自日本的古老游戏,其设计目的是训练人的逻辑思维能力.游戏场景一般是设定在空间狭小的仓库中,要求把箱子摆放到指定位置.这就要求玩家巧妙的运用有限的空间和通道 ...
随机推荐
- 解决:Cannot load ocl.dll library(error code 126). The ocil.dll library may be missing from the system
因为这两天在做将springboot 项目使用的数据库MySQL转换为Oracle数据库,所以在网上查找相关资料后开始使用 Convert-Mysql-to-Oracle4.0做转换: ...
- IOS马甲包(诚招大量开发)
马甲包的字面意思给产品穿马甲,但是我认为马甲包更像是产品的一种分身,一种和产品一样拥有灵魂,拥有肉身的一种分身.它能为产品带来同样的功能效果. 一.什么是马甲包通过技术手段,多次上架同一款产品的方法. ...
- 图片 和 base64 互转
图片转base64 NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlStr]]; UIImage *img = ...
- day 81 Vue学习一之vue初识
Vue学习一之vue初识 本节目录 一 Vue初识 二 ES6的基本语法 三 Vue的基本用法 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 vue初识 vue称为渐进式js ...
- 大数据入门第七天——MapReduce详解(二)切片源码浅析与自定义patition
一.mapTask并行度的决定机制 1.概述 一个job的map阶段并行度由客户端在提交job时决定 而客户端对map阶段并行度的规划的基本逻辑为: 将待处理数据执行逻辑切片(即按照一个特定切片大小, ...
- mfc 类的友元函数
知识点 友元函数 友元函数 友元函数是指某些虽然不是类成员却能够访问类的所有成员的函数..类授予它的友元特别的访问权.通常同一个开发者会出于技术和非技术的原因,控制类的友元和成员函数(否则当你想更新你 ...
- CF 348 D. Turtles
D. Turtles 链接 题意: 给定一个N*M的棋盘,有些格子不能走,问有多少种从(1,1)到(N,M)的两条不相交路径. 分析: lGV定理. 定理:点集A={a1,a2,…an}A={a1,a ...
- SQL Server 日期格式和日期操作
SQL Server发展至今,关于日期的格式的控制方法,有传统的方法,比如CONVERT(),也有比较便利的新方法,比如FORMAT():同样,关于日期的操作函数,也分为传统方法:DATEADD()等 ...
- 【JUC源码解析】DelayQueue
简介 基于优先级队列,以过期时间作为排序的基准,剩余时间最少的元素排在队首.只有过期的元素才能出队,在此之前,线程等待. 源码解析 属性 private final transient Reentra ...
- js 日期,时间函数 及相关运算大全
一.在js中如何比较两个时间字符串的大小 方法一: function CompareDate(d1,d2){ return ((new Date(d1.replace(/-/g,"/ ...