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 的 CTO

今天,Poppy 的所有工程師都在使用 Prisma 進行開發,並且它已在生產環境中使用,每週為數千次乘車提供服務。

Poppy 的技術堆疊有些複雜。這種複雜性存在於幕後,以幫助確保乘客擁有流暢的體驗。然而,Prisma 提供的工具,特別是 Prisma Client 提供的出色的 TypeScript 體驗,有助於降低這種複雜性,並使 Poppy 的工程師能夠快速行動,同時對他們的程式碼充滿信心。

Poppy's tech stack

Poppy 的技術堆疊包括在託管、框架和第三方服務方面的常用選項,包括

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

Poppy 的服務需要高度的位置感知。這就是他們技術堆疊中出現一些複雜性的原因。

PostGIS 是 PostgreSQL 的擴充功能,它為資料庫提供地理空間功能。Poppy 使用 PostGIS 進行幾何計算和執行位置感知的資料庫查詢。

除此之外,Poppy 還從其車輛在 Google Big Query 中收集 IoT 資料。這代表需要管理大量資料。

透過 Prisma Client 進行型別安全資料庫存取對於幫助 Poppy 減少程式碼錯誤至關重要。在編寫資料庫存取程式碼時,這種額外的信心層有助於 Poppy 降低程式碼庫的整體複雜性,並使他們能夠更快地交付產品。

Prisma、TypeScript 和我們相當全面的整合測試覆蓋率的結合,使我們有信心重構程式碼的關鍵部分。

Thibaut NguyenThibaut Nguyen,Poppy 的 CTO

透過 Prisma Client 進行型別安全資料庫存取對於幫助 Poppy 減少程式碼錯誤至關重要。在編寫資料庫存取程式碼時,這種額外的信心層有助於 Poppy 降低程式碼庫的整體複雜性,並使他們能夠更快地交付產品。

型別安全資料庫存取,兼具樂趣與效益

對於各種開發人員來說,型別安全正變得越來越重要。TypeScript 的普及率一直在飆升,這是有充分理由的。開發人員從使用型別安全程式碼中獲得的信心為任何組織帶來巨大的好處。

資料庫存取的型別安全也變得至關重要。開發人員不再是編寫原始 SQL 並在查詢資料庫時進行大量試錯,而是希望確切知道他們可以做什麼和不能做什麼。

透過 Prisma,開發人員可以獲得開箱即用的型別安全資料庫存取用戶端。

資料庫模型是使用 Prisma Schema Language 編寫的,而 TypeScript 型別是從它自動產生的。

使用 Prisma 建模的資料庫易於讀取和寫入。

透過單一指令,Prisma 模型提供型別安全資料庫存取用戶端。

結論

Prisma 對於 Poppy 迄今為止的成功至關重要,團隊預計隨著公司的成長,它將繼續發揮重要作用。型別安全轉化為信心。資料庫的信心尤其重要,而透過 Prisma Client,Poppy 能夠實現這一目標。

若要進一步了解 Prisma 如何幫助您的團隊提高生產力,請加入 Prisma Slack 社群

不要錯過下一篇文章!

訂閱 Prisma 電子報