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 NguyenPoppy 的 CTO Thibaut 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 NguyenPoppy 的 CTO Thibaut Nguyen Poppy

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

有趣且有益的类型安全数据库访问

类型安全对于各类开发者而言正变得越来越重要。TypeScript 的流行度飙升并非没有道理。开发者使用类型安全的代码所获得的信心为任何组织都带来了巨大的益处。

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

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

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

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

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

结论

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

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

不要错过下一篇文章!

订阅 Prisma 新闻通讯