啤酒统计:啤酒评级应用

通过CQLer Weston Miller

办公文化的精髓

真实地说,没有人真正喜欢南瓜啤酒。 但这并不能阻止Cognizant Quick Left举办年度南瓜啤酒大赛。 每年的10月,CQL每月的欢乐时光都专门用于此。 在过去的几年中,CQL团队将提交啤酒或苹果酒供团队选择。 每个人都将对最佳和最差的啤酒进行投票,然后在干擦板上将每种饮料的等级从1提高到10。

尽管此策略足够了,但在CQL,我们以谋生为目的构建Web应用程序。 话虽如此,我自己和另一位开发人员都觉得有更好的方法来了解啤酒品尝经验以及对啤酒进行排名的过程。

啤酒统计

我们决定编写一个本地iOS啤酒评级应用程序。 作为一个团队,我们在构建应用程序时配对编程。

如果您不熟悉结对编程,那么它实质上是一种编写代码的方法,开发团队可以使用该方法更有效地构建软件。 一台计算机上驻有两个程序员,该计算机具有两个监视器,两个键盘和两个鼠标。 通常有一个“驾驶员”,即大部分打字工作的人,以及一个“导航者”,其是审查代码并告知驾驶员是否犯错的人,就像后座驾驶员。 导航员还是在团队陷入困境时研究问题的人。 这些角色在开发时经常切换。

在开发Brew-tally时,我们中的一个专注于构建iOS应用,而另一个专注于编写服务器和设计用于显示最终数据点的界面。

该应用程序非常简单。 它包括一个tableViewController,它显示了所有啤酒,并允许用户选择它们,在1到10之间对其评分并提交评分。 该应用使用Socket.io实时更新评级。

酿酒服务器

该服务器是用NodeJS和Express编写的。 它使用mongoDB和MongooseJS作为数据库。 该服务器符合RESTful标准,并且端点具有/beers//beers/{beerId}/reviews/ POST方法,以及具有/beers/, /beers/{beerId}, /beers/{beerId}/reviews/ GET方法。 /beers/, /beers/{beerId}, /beers/{beerId}/reviews//beers/{beerId}/reviews/{reviewId} 。 由于我们只有大约一周的时间来开发应用程序,因此我们没有时间设置任何PUTSDELETES尽管这可能会在将来实现。

我们还编写了移动优先的Web应用进行测试。

电视转盘

最终的评分界面是用Polymer / WebComponents编写的。 我们选择了这种“框架”,以便我们可以在一周内快速开发该应用程序。 界面实质上是一个“卡片”轮播,其中包含每个啤酒瓶的图像。 为了使人们在投票时保持诚实,我们将啤酒的评级隐藏到比赛结束之前,以使人们保持诚实,因为在提交啤酒时显示其评级可能会影响评论。 我们对事件应在服务器中结束的时间进行了硬编码。 活动结束后,该应用将显示评分最高的前三名啤酒。

分发iOS应用

为了分发Brew-tally,我们使用Apple的TestFlight程序进行Beta测试。 我们没有太多时间来获得Apple的批准,因此使用TestFlight可以使我们增加许多用户作为内部测试人员。 这使团队成员可以轻松地通过TestFlight下载该应用程序。 我们还为没有iPhone的用户提供了一个网络版本,允许所有成员参加。

下一步

总体而言,我们的技术狂热者团队喜欢应用程序体验。 在某些时候,我们希望继续开发该应用程序并将其纳入App Store。 对于明年,我们需要进行很多更改。 一种想法是创建用户帐户,以便用户每次啤酒只能投票一次。 我们还希望能够从应用本身内部创建事件。

总而言之,这是一个快速而有趣的迷你项目,使我们的欢乐时光比往年更加愉快。 Brewtally是一个很好的应用程序示例,您可以在尝试学习新东西的同时创建它,无论是新语言,新的软件开发方式还是团队合作的新方式。

Interesting Posts