Blog

Blog

PHODAL

8.21: Hackday、慈善x快速迭代

过去总想着写点小日志什么的来记录一下日常的生活,难得有了点想法 + 实力终于可以做这件事了。当然,这不会是流水账,每一天都会有一个主题,直到20天以后。

于是,第一天以Hackday开始,因为很多idea就是这样变成一个产品的。

HackDay

Hackday是一个有意思的话题,毕竟人生苦短。身为一个程序员,我们总想创造一些有意思的东西。Hackday似乎就是这样的一个场景,然而多数的时候,我们还需要围绕着举办方的主题来构建Idea。

过去参加过了那么几次的Hackday,而这次不一样的原因是主题离开了业务,以慈善为中心。

慈善

慈善在中国已然是惨淡的。。。,,至少在我看来目前这个词是贬大于褒。不过,这类东西主要是因为缺少透明度。

我们的idea与之有一点点的小关系(说大话了)。实际上是再平常不过的O2O捐赠了,只是接口变成了微信,接口还是网页

接着就来到了我们的主题——快速迭代。

快速迭代

我们只有两天不到的时间去实现我们的Idea。

当时我们考虑到的现实是,对于多数人来说,掌握QQ和微信的速度比APP和网页快、而且普及度高,因此我们选择了微信来当作我们的入口。

第一次Inception

于是在前一天上午,我们五个人开始站会(不想会太长的小伙伴们,就站着开会吧)。

说说我们的idea,首先我们需要有下面的微信界面

wechat

包含四个菜单:

  1. 我要捐。想要捐赠的人可以由此进,拍照并填写相应的捐赠信息。
  2. 我需要。那些需要捐赠的人可以在此填写相应的信息。
  3. 已捐赠。那些捐赠的人可以看到相应的信息,并可以分享到朋友圈blabla,然后还可以点赞。
  4. 谁需要。想捐赠的人可以在这里查看需要捐赠的人。

而这个也需要有一个后台,考虑到因为需要后台,直接选用Django了。因为之前做过类型的东西,同时考虑到后期的数据量,以及学习成本。系统就会成了两部分:

  1. donate。这部分主要是网页代码,Django + Haystack + ElasticSearch来实现表单及展示。
  2. donate-wechat。 这部分代码主要是微信,实际上只是一些链接。

接着,我们就划分了任务:

  1. Django 图片上传
  2. 尝试在前台用ElastiSearch进行搜索
  3. 微信公众平台

由于我们是五个人,采用pair机制。作为一个有女朋友就Solo了,问题是剩下的两个单身汉子主动地pair了,于是两个妹子在pair,唉。。。

快中午的时候,图片上传有结果了,微信公众平台在开始的十几分钟内有结果了,然后在下午开始的时候我们开始了第二次Inception。

第二次迭代

因为已经可以用Django上传图片了,所以剩下的就是修改表单和UI修改了。

接着,开始Setup本地的开发环境了,因为之前我的本地环境和服务器环境都是已经Ready的状态。所以是我的挖的大坑,所以我只好默默地填好所有的坑:

  1. Django安装
  2. ElastiSearch安装
  3. Django Geo安装
  4. Python PIL

由于,最后坑在Google Map对于地址的解析,所以只好先把这部分的功能去掉了,即Django Geo。好在痛苦了大概一小时之后 ,就不再痛了。随后花了大概十几分钟,快速讲了个Django、Haystack的Session。

我们开始第二次划分任务:

  1. 我继续修改Form
  2. 添加"我需要"
  3. 尝试搜索功能

在第一天结束的时候,勉强可以工作,然而我们并没有意识到微信是有问题的。。

第二次站会

在第二天的站会中,我们发现了微信的问题,即修改公众号菜单需要24小时才能生效。而在前一台,我们的几个链接都指向的是某中文搜索网站。

同时,我们发现后台的审核需要加强。

于是,我们开始了第三次划分任务:

  1. 因为有微信经验,所以我来负责这个
  2. 修改UI
  3. 修改索引

所幸,微信的功能在半个小时内就完成了。便加入了后台管理功能,实际上只是两个Boolean,有万能的Django:

admin.site.register

后台都是小问题。

第四次迭代

于是,我们很快来到了第四次迭代。在下午的时候,基本上已经做完了。但是我们又重新分配了一下任务:

  1. 我开始了我最想做的海报
  2. 继续修改UI
  3. 准备PPT和ShowCase

最后,还是拿了个三等奖~~。

快速迭代的思考

在进行的过程中,我一直在思考这个问题,因为我意味到了我们在快速的迭代。在不断地反馈问题中,我们丢掉了一些方案,才能更快地向目标移动。

如果,我们在过程中被一些问题卡住,而没有试图用别的方式解决。如:

  1. 我们之前在尝试用ElasticSearch的前台搜索的时候,我们发现直接用后台更快。
  2. 我们在尝试创建成功创建"我要捐"页面的时候返回详细信息,一开始调用的是ES,后来发现我们可以用数据库解决——毕竟这时候是不需要索引的。

那么,我们很容易影响到总体的进度。只有在不断获取反馈的时候,才能成长。

而,这样的迭代,似乎在开放的团队中更容易看到?

其他

项目Github: icharity

微信关注我: Phodal

截图:

Donate


或许您还需要下面的文章:

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806
comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Engineer, Consultant, Writer, Designer

ThoughtWorks 技术专家

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《前端架构:从入门到微前端》、《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 最新技术分享

标签