我们如何帮助 Kinderlime 打造更好的儿童保育平台
Kinderlime 是一个儿童保育应用兼管理平台,它简化了所有儿童保育业务运营,使用户可以专注于最重要的部分:孩子。 它们提供了各种儿童保育管理解决方案,包括非接触式签到/签出、一体化学费收取、业务管理工具、课后项目软件、员工管理等。 Kinderlime 是排名第一的儿童保育软件,全美有超过 3 万家儿童保育所在使用。 它们通过 Web 应用提供服务,该应用提供了供老师和家长使用的主要功能,同时也有基于 iOS/Android 的移动应用,提供了供家长使用的功能。
在很长一段时间里,学校和儿童保育设施可能是软件渗透程度最低的一个领域,至少在 Kinderlime 进场之前是这样。 Kinderlime 最近已成为 Procare 品牌的一部分,并与之作为一个整体进行运营。 2017 年年中,公司 CTO 兼联合创始人 Nalin Senthamil 找到了 Evrone,寻求儿童保育软件开发方面的帮助。
挑战
客户的团队最初分布在加州的圣何塞市以及印度,并且他们已经能够高效地开展完全远程的软件开发工作。 我们与 Nalin 讨论了细节,结果发现他们正在重新设计他们当前的 Rails 应用架构,并且需要开发针对 Web 和移动平台的各种应用。
他们面临的挑战是:在微服务架构中使用 API 网关,然后将相同的 API 用于移动客户端,将庞大的 Rails 应用拆分成独立的后端和前端项目。 他们在应用的前端方面需要我们的帮助,并准备好了技术要求和线框设计,解释了他们对应用每个界面的设想。 我们是这个项目的绝佳人选,因为我们在基于类似的 Rails 解决方案和拆分庞大的 Rails 应用方面拥有非常丰富的经验。
使用 API
随着业务规模的扩大,它会需要更多的功能。 因此,您不得不向现有的 Rails 应用添加新的模型,有时它就会变成一个庞然大物。 当面对一个已经变得无法维护且难以部署的庞大应用时,您需要学习一些新的管理方式。 这通常涉及到将庞大的 Rails 应用拆分成微服务。 我们的客户面临的就是这种情况。 他们有一个与后端分离的前端项目,我们当时的工作重点就是该项目和前端 API 网关。
为了使用 API,我们在 Redux 和 Axios 的基础上编写了一个库。 它使用了一种描述 API 端点路径的方案,可以描述用于转换请求和响应的参数和函数,以及减速器的参数。 利用这些数据,该库会生成发送请求和处理响应的函数、Redux 减速器,以及减速器响应的事件。 如果没有它,我们将重写上百次代码来描述请求。
潜在客户 CRM 系统
由于很多用户,从老师、家长、孩子到整个学校和教育机构,都在访问 Kinderlime 平台,客户希望添加一些功能,以改善互动并方便使用服务。 客户希望实现潜在客户 CRM 系统的功能,包括可以由学校创建、链接到第三方资源并用于生成潜在客户的公共注册表。
我们从零开始开发了在线注册表单生成器。 表单中有几个阶段,在每个阶段,管理员都可以创建基本字段和自定义字段。 老师可以在学校管理面板中编辑这些字段,并创建自定义表单,供家长在为子女注册时使用。
除了在线表单生成器之外,我们还实现了可以向潜在客户发送电子邮件/短信的 Leads Communication(潜在客户沟通)系统。 该系统可以跟踪已发送电子邮件的统计信息(已发送,已打开,待处理等)。
另外,我们还实现了 Insights,该功能仍处于测试阶段。 Insights 会将后端收集的数据以图表的形式显示在前端。 它提供了潜在客户的转化情况,即在一定时间内,有多少潜在客户转化成了客户。
图表分为两种类型:
- 流水线图,说明了在给定时间内每个潜在客户状态所分配的潜在客户的数量。
- 漏斗图,说明了客户由潜在客户变为客户的过程。 它显示了成功转化的潜在客户数量,以及其他潜在客户在转化过程中的哪个阶段流失了。
这两种图表都可以通过不同的参数集进行筛选。
电子邮件营销活动生成器
应客户的要求,我们实现了在线电子邮件生成器,管理员可以利用它来创建自定义电子邮件,组织邮件列表,并自动将电子邮件发送给已经登记入学的孩子的家长。 生成的电子邮件是跨客户端兼容的,几乎可以通过任何客户端(例如 Outlook、Apple Mail 应用、Gmail 等)正常打开。
学校和 Kinderlime 都非常满意潜在客户 CRM 系统和电子邮件生成器的功能。 目前,我们正在开发其他有关家长参与的综合解决方案,包括实施电子签名,家长可以在系统内通过此功能在老师创建的文件上签字(或拒绝签字)。
技术栈
该项目使用数百个不同表单来创建和编辑各种实体(学生、家长、账户、I/O、计费套餐、邮件等)。 为了节省时间,我们编写了一个库,可以通过声明的方式快速描述表单和字段验证。 这个库在许多地方为我们省去了编写数百行代码的麻烦,同时我们还将其用在了表单生成器中。
我们使用 React 进行 UI 开发,使用 Redux 进行状态管理,使用 Webpack 进行构建。 至于第三方服务,我们使用了 Stripe 和第三方银行,使用户能够通过移动客户端在 WebView 中进行支付。 此外,我们还使用 React DND 在电子邮件生成器中实现了拖放功能。
我们还使用了端到端测试框架 Cypress,这是我们首次使用的新工具之一。 现在,这些测试涵盖了 90% 的主要功能。 我们必须从头开始研究,才能在发布前将其设置好,以便运行端到端测试。
我们还使用 CircleCI 进行持续集成,使用 AWS 进行云存储,使用 Intercom 实现客户关系。
成果
Evrone 与其他软件开发公司不同,我们直接将工程师与客户的团队联系起来,而无需进行多余的项目中间管理。 这种方式帮助我们和客户取得了更好的结果,因为它消除了通常因为由中间人传达信息所导致的沟通不畅。 通过这种方式,Kinderlime 团队实现了跨越所有时区的无缝沟通和开发流程,创造出了极其出色的产品。
我们帮助客户建立了高效的团队扩展,并与 Kinderlime 的团队建立了良好的关系。 他们已经具有了良好的吸引力,并为平台带来了更多客户,这直接归功于我们共同开发的优秀界面和实用的新功能。 如果您计划为您的业务开发教育科技解决方案,请随时通过下面的表单与我们联系。