一、项目展示

二、用户的痛点与需求

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”项目汇报的更多相关文章

  1. “北航Clubs”功能规格说明书

    1.项目目标说明: 北航Clubs的初衷是服务社团,服务学生,满足社团与学生的信息互通的需求.社团管理运营方便的需求. 建设网站的目的是使学生可以在一个权威可信的网站上获取到社团实时的动态,社团活动的 ...

  2. “北航Clubs” Alpha版发布!

    一.功能 1.获取活动信息: 用户进入网站后,第一眼就可以查看到近期活动 2.查看活动详情 点击活动标题,可以进入活动详情页面 3.注册功能 首页点击注册,输入学号.密码.姓名.手机号即可完成注册 4 ...

  3. Android实践项目汇报(四)

    全国天气客户端 本周学习计划 添加修改功能,完成项目 实际完成情况 1.成功显示当天及后几天的天气信息 通过修改chaxun.java程序,比较JSON数据格式中JSONObject("to ...

  4. Android实践项目汇报(三)

    Google天气客户端 本周学习计划 调试代码使之成功运行并实现天气预报功能. 实际完成情况 由于google取消api接口服务,天气源的传输.所以我换了一个使用 haoserver API接口的程序 ...

  5. Android实践项目汇报(二)

    Google天气客户端 本周学习计划 学习布局控件和XML解析的相关知识. 看懂程序代码. 把借鉴代码成功导入到Android Studio中并运行成功. 实际完成情况 我学习到布局控件XML在res ...

  6. Android实践项目汇报-改(一)

    Google天气客户端NABC Need(需求):  功能性需求分析 天气预报客户端,顾名思义就是为用户提供实时准确的天气信息,方便用户出行生活.根据用户日常需求,软件完成后点开,载入界面,显示查询界 ...

  7. Android实践项目汇报(一)

    # 我要做的是Google天气客户端 一.Need(需求): 1. 功能性需求分析 天气预报客户端,顾名思义就是为用户提供实时准确的天气信息,方便用户出行生活.根据用户日常需求,软件实现后所达到的功能 ...

  8. Android实践项目汇报总结(上)修改

    微博客户端的设计与实现(上) 第一章 绪论 1.1课题背景 微博可以说是时下最受人们所喜爱的一种社交方式,它是一种通过关注机制分享简短实时信息的广播式的社交网络平台.通过微博我们可以了解最新的时事新闻 ...

  9. Android实践项目汇报

    Android实践项目:推箱子 推箱子是一款来自日本的古老游戏,其设计目的是训练人的逻辑思维能力.游戏场景一般是设定在空间狭小的仓库中,要求把箱子摆放到指定位置.这就要求玩家巧妙的运用有限的空间和通道 ...

随机推荐

  1. (转)一次压测对nginx/tomcat配置的调整

    原文地址:还在寻找.... 一个web系统,前端使用nginx做为反向代理,处理https,并将请求转发给后端的tomcat服务. 压力测试工具选择了jmeter. 首先简单介绍一下jmeter. 它 ...

  2. HDU 1754 I Hate It(线段树之单点更新 区间最值查询)

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  3. KMP算法之从懵逼到入门

    写本文的目的: 1.加深自己的理解,以便自己日后复习 2.给看到此文的人一点启发 KMP算法看懂了就觉得特别简单,思路也好理解,但是看不懂之前,查各种资料看大佬的博客,都很懵逼...... 1.  算 ...

  4. Runtime Errors:CALL_FUNCTION_REMOTE_ERROR/CALL_FUNCTION_NOT_REMOTE

    调用一个新建的接口时,报错. 调用端: 被调用端: 错误很明显,是RFC漏选了 Remote-Enabled Module(运程启用的模块). 修改后,问题解决.

  5. 使用jieba导入引用方法时,报错AttributeError: module 'jieba' has no attribute 'cut'

    一.问题描述 import jieba导入后,使用jieba.cut()方法时报错AttributeError: module 'jieba' has no attribute 'cut' 二.问题分 ...

  6. python-redis列表模式

    往列表里存放数据先进后出(左进) lpush  names  A  B C D E 往列表里存放数据后进先出(右进) rpush names  G P H K 查看列表里面的数据: lrange na ...

  7. AtCoder ExaWizards 2019 D Modulo Operations

    题意 给出一个长度为\(n\)的数列和数字\(X\),对于数列的每一种排列,其权值\(X\)依次对排列中的数取模,求出\(n!\)种情况最后剩下的数的权值和 分析 如果大的数字排在小的数字后面,那么大 ...

  8. C语言动态内存的申请和释放

    什么是动态内存的申请和释放? 当程序运行到需要一个动态分配的变量时,必须向系统申请取得堆中的一块所需大小的存储空间,用于存储该变量.当不再使用该变量时,也就是它的生命结束时,要显式释放它所占用的存储空 ...

  9. Permission Policies

    The Permission Policy determines Security System behavior when there are no explicitly specified per ...

  10. C++模板的实现(模板函数和模板类,附带模板实现顺序表和链表代码)

    文章链接:https://blog.csdn.net/qq_38646470/article/details/80209469