Tooploox Hackathon:Timeploox,用于时间跟踪的Slack机器人

在Tooploox,我们在时间和物质上与合作伙伴一起工作,因为该模型使我们能够完全采用敏捷开发方法。 多年来,我们尝试了各种开放源代码和商业工具,这些工具旨在减轻与日志记录时间相关的负担和总体开销,可视化进度并生成报告。 不幸的是,即使是我们目前所依赖的当前服务(Freshbooks)也无法满足我们的所有要求,例如易于访问,工作流程快速且使用起来很有趣。

在黑客马拉松开始之前,我们有很多想法如何解决整个Tooploox团队的痛苦。 最后,我们选择了一个非常适合我们日常工作的特定概念-一个完整的(即目标)时间跟踪和报告bot,用于我们的主要沟通工具Slack。 在我们进行开发的几个小时中,该机器人“学习”了如何以丰富的方式解释和响应从任何Slack通道发出的简单命令。

例如,要记录时间,可以发出/log命令:

作为回应,您会获得简短的记录时间摘要:

可以通过/log view命令在任何给定的时间点查看和删除条目:

结果是:

我们的团队还设法构建了一个配套的iOS应用程序,该应用程序至少在黑客马拉松的范围内,用于查看各种Slack用户记录的时间报告:

从技术角度来看,我们决定使用可快速开发和部署原型每次迭代的工具和平台。 在后端,我们使用了Node.js(ES6,Express.js,Mongoose),Heroku,MongoDB(通过附加组件)和Slack API,而移动应用程序是使用Storyboard进行Swift编写的(用于快速UI原型制作)很少有开源框架,例如Alamofire和Charts。

尽管有时会遇到颠簸,但为iOS应用程序和机器人本身构建API通常非常简单和有趣。 我们在MongoDB插件上遇到了问题,不得不在Slack部分处理一些奇怪的消息格式选择,例如在父JSON结构中编码为原始字符串的JSON内容。

由于黑客马拉松赛仅进行了两天,因此我们只需要为我们的iOS配套应用选择最重要的功能。 我们得出的结论是,使用此应用程序的主要目的是检查我们或我们的同事条目。 因此,在产品设计团队的帮助下,我们准备了用于摘要视图的设计,然后开始工作。 您可以在上面的屏幕截图中看到结果。 该视图非常简单,最困难的是日历视图,我们免费获得-我们使用了强大的FSCalendar控件。

最后但并非最不重要的是,团队。 我们很幸运,并设法组建了一支由产品设计师,全栈和iOS工程师组成的团队。 这意味着我们有足够的原始马力来解决我们想在合理时间内解决的难题。

就目前而言,该机器人为更大的事物奠定了良好的基础,并有望在不久后将其推向新的高度。 总而言之,一起破解项目并制定各种怪癖很有趣!

由Krzysztof Tarnowski和Karol Wieczorek撰写。