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 開發者尋求型別安全資料庫存取客戶端的首選方案,Thibaut 決定在下一個新專案中採用 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 從車輛收集物聯網(IoT)數據。這代表著需要管理的數據量相當龐大。

透過 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 電子報

© . This site is unofficial and not affiliated with Prisma Data, Inc.