2021年6月9日

Poppy 如何使用 Prisma Client 信心十足地交付产品

Poppy 通过其移动应用程序提供各种形式的乘车服务。无论是汽车、踏板车还是电动滑板车,Poppy 都能提供。Prisma 在帮助 Poppy 快速、自信地交付产品方面发挥着至关重要的作用,也是他们刚刚达到 150 万次总乘车量的主要原因。

How Poppy Uses Prisma Client to Ship Confidently

各种形式的乘车服务

Poppy 是一家移动出行共享服务公司,拥有巨大的价值主张:客户可以自由选择他们想要的乘车方式。Poppy 总部位于比利时,在安特卫普、布鲁塞尔以及现在的梅赫伦提供 500 多辆共享汽车、400 辆电动踏板车和 200 辆电动滑板车。所有这些都可以在 Poppy 的移动应用程序中轻点几下即可使用。

虽然 Poppy 的产品直观且用户体验流畅,但实现这一点的架构却相当复杂。

Poppy 不仅需要交付适用于所有设备的移动应用程序,还需要在幕后处理多项复杂事务。其中一些包括处理位置感知、支付、通知等。

即使面对所有这些复杂性,Poppy 在开发方面仍然迅速,并持续发布新功能。帮助他们实现快速发展的一项关键技术是 Prisma Client

Prisma 作为核心

Thibaut Nguyen 是 Poppy 的 CTO。作为 GraphQL 的粉丝,他从早期就开始关注 Prisma 的发展。随着 Prisma 成熟,成为那些希望为 Node.js 获得类型安全数据库访问客户端的人的首选,Thibault 知道他想在下一个全新项目中利用 Prisma。

我们团队中有两个人是早期的 graph.cool 粉丝,对它的质量和开发者体验印象深刻。我记得当时研究过 Prisma 1,但有点不愿再增加一个服务器来设置它。后来当开始一个全新项目时,我们尝试了 Prisma 2 的早期版本,并立即确信我们必须使用它,因为它与 Typescript 集成得非常好。

Thibaut NguyenThibaut Nguyen,Poppy 首席技术官

如今,Poppy 的所有工程师都在使用 Prisma 进行开发,并且它已在生产环境中用于每周提供数千次乘车服务。

Poppy 的技术栈有些复杂。这种复杂性在幕后是为了帮助确保乘客拥有流畅的体验。然而,Prisma 提供的工具,特别是 Prisma Client 提供的出色 TypeScript 体验,帮助降低了这种复杂性,并使 Poppy 的工程师能够快速行动,同时对他们的代码充满信心。

Poppy's tech stack

Poppy 的技术栈包括托管、框架和第三方服务中的流行选项,包括:

  • Node 和 Fastify
  • React Native
  • PostgreSQL
  • Redis
  • Twilio
  • Docker
  • Google Cloud Platform

Poppy 的服务需要高度的位置感知。这就是其技术栈中出现一些复杂性的原因。

PostGIS 是 PostgreSQL 的一个扩展,为数据库提供了地理空间能力。Poppy 使用 PostGIS 进行几何计算和执行位置感知型数据库查询。

此外,Poppy 在 Google Big Query 中收集其车辆的物联网数据。这代表了需要管理的大量数据。

通过 Prisma Client 实现的类型安全数据库访问对于帮助 Poppy 减少编码错误至关重要。编写数据库访问代码时增加的这一层信心帮助 Poppy 降低了其代码库的整体复杂性,并使他们能够更快地交付产品。

Prisma、TypeScript 以及我们相当彻底的集成测试覆盖相结合,使我们有信心重构代码的关键部分。

Thibaut NguyenThibaut Nguyen,Poppy 首席技术官

通过 Prisma Client 实现的类型安全数据库访问对于帮助 Poppy 减少编码错误至关重要。编写数据库访问代码时增加的这一层信心帮助 Poppy 降低了其代码库的整体复杂性,并使他们能够更快地交付产品。

类型安全的数据库访问,乐趣与收益兼得

类型安全对于各类开发者来说变得越来越重要。TypeScript 的流行度一直在飙升,这是有充分理由的。开发者从使用类型安全代码中获得的信心为任何组织都带来了巨大的好处。

数据库访问的类型安全也变得至关重要。开发者不再希望在查询数据库时通过大量试错来编写原始 SQL,而是希望确切地知道他们能做什么和不能做什么。

借助 Prisma,开发者可以获得开箱即用的类型安全数据库访问客户端。

数据库模型使用 Prisma Schema Language 编写,TypeScript 类型会从中自动生成。

使用 Prisma 建模的数据库易于读写。

通过单个命令,Prisma 模型提供了一个类型安全的数据库访问客户端。

总结

迄今为止,Prisma 对 Poppy 的成功至关重要,团队预计随着公司的发展,它将继续发挥重要作用。类型安全转化为信心。数据库层的信心尤为重要,借助 Prisma Client,Poppy 能够实现这一点。

要了解更多关于 Prisma 如何帮助您的团队提高生产力的信息,请加入 Prisma Slack 社区

不要错过下一篇文章!

订阅 Prisma 新闻通讯

© . All rights reserved.