2021年6月9日

Poppy社がPrisma Clientを使って自信を持ってリリースする方法

Poppyは、モバイルアプリを通じてあらゆる種類のライドを提供しています。車、スクーター、Eステップなど、Poppyにはすべて揃っています。Prismaは、Poppyが迅速かつ自信を持ってリリースするのを支援する上で重要な役割を果たしており、総ライド数150万回を達成した大きな理由です。

How Poppy Uses Prisma Client to Ship Confidently

あらゆる種類のライド

Poppyは、モビリティ共有サービスであり、大きな価値提案があります。顧客は、どのようなライドを希望するかについて多くの選択肢を得ることができます。ベルギーを拠点とするPoppyは、アントワープ、ブリュッセル、そして現在はメヘレンでも500台以上の共有車、400台のEスクーター、200台のEステップを提供しています。これらはすべて、Poppyのモバイルアプリで数回タップするだけで利用可能です。

Poppyの提供はシンプルで、ユーザーエクスペリエンスはスムーズですが、これを可能にするアーキテクチャはかなり複雑です。

Poppyは、すべてのデバイスで動作するモバイルアプリをリリースする必要があるだけでなく、位置情報の認識、支払い、通知など、舞台裏のいくつかの複雑さにも対処する必要があります。

これらすべての複雑さにもかかわらず、Poppyは開発を迅速に進め、常に新しい機能をリリースしています。彼らが迅速な開発を達成するのに役立っている主要なテクノロジーの1つが、Prisma Clientです。

Prismaがコアに

ティボー・グエンはPoppyのCTOです。GraphQLのファンであり、初期の頃からPrismaの開発を追いかけてきました。PrismaがNode.js向けの型安全なデータベースアクセスクライアントとしてトップの選択肢になるにつれて、ティボーは次のグリーンフィールドプロジェクトでPrismaを使用したいと考えていました。

チームの2人は初期のgraph.coolファンであり、品質と開発者エクスペリエンスに非常に感銘を受けました。当時Prisma 1をチェックしたことを覚えています。しかし、セットアップするために追加のサーバーを追加することには少し抵抗がありました。その後、グリーンフィールドプロジェクトを開始する時期が来たとき、Prisma 2の早期リリースを試してみたところ、TypeScriptとの統合が非常に優れているため、これを使用する必要があるとすぐに確信しました。

ティボー・グエンティボー・グエン、PoppyのCTO

今日、PoppyのエンジニアはすべてPrismaで開発しており、Prismaは本番環境で使用され、週に数千回のライドを提供しています。

Poppyの技術スタックはやや複雑です。この複雑さは、ライダーがスムーズな体験を確実に得られるようにするために舞台裏に存在します。ただし、Prismaが提供するツール、特にPrisma Clientが提供する優れたTypeScriptエクスペリエンスは、その複雑さを軽減し、Poppyのエンジニアがコードに自信を持ちながら迅速に行動できるようにするのに役立っています。

Poppy's tech stack

Poppyの技術スタックには、ホスティング、フレームワーク、サードパーティサービスにわたる一般的なオプションが含まれています。以下を含みます。

  • Fastifyを使用したNode
  • React Native
  • PostgreSQL
  • Redis
  • Twilio
  • Docker
  • Google Cloud Platform

Poppyのサービスは、高度な位置情報認識を必要とします。これは、彼らのスタックの複雑さの一部が生じる場所です。

PostGISは、PostgreSQLの拡張機能であり、データベースに地理空間機能を提供します。Poppyは、PostGISをジオメトリ計算と位置情報認識データベースクエリに使用しています。

これに加えて、Poppyは車両からIoTデータをGoogle BigQueryに収集しています。これは、管理する必要がある大量のデータを表しています。

Prisma Clientによる型安全なデータベースアクセスは、Poppyのコーディングエラーを減らすために不可欠でした。データベースアクセスコードを作成する際のこの追加の信頼層は、Poppyがコードベース全体の複雑さを軽減し、より迅速にリリースできるようにするのに役立っています。

Prisma、TypeScript、そしてかなり徹底的な統合テストの組み合わせにより、コードの重要な部分をリファクタリングする自信が得られます。

ティボー・グエンティボー・グエン、PoppyのCTO

Prisma Clientによる型安全なデータベースアクセスは、Poppyのコーディングエラーを減らすために不可欠でした。データベースアクセスコードを作成する際のこの追加の信頼層は、Poppyがコードベース全体の複雑さを軽減し、より迅速にリリースできるようにするのに役立っています。

楽しみと利益のための型安全なデータベースアクセス

型安全性は、あらゆる種類の開発者にとってますます重要になっています。TypeScriptの人気は急上昇しており、それには十分な理由があります。開発者が型安全なコードを扱うことで得られる信頼は、あらゆる組織に多大なメリットをもたらします。

データベースアクセスの型安全性も重要になりつつあります。データベースにクエリを実行するときに、多くの試行錯誤を伴う生のSQLを作成する代わりに、開発者は自分たちが何ができて何ができないかを正確に知りたいと考えています。

Prismaを使用すると、開発者は型安全なデータベースアクセスクライアントをすぐに利用できます。

データベースモデルはPrisma Schema Languageで記述され、TypeScript型はそこから自動的に生成されます。

Prismaでモデル化されたデータベースは、読み書きが簡単です。

単一のコマンドで、Prismaモデルは型安全なデータベースアクセスクライアントを提供します。

結論

Prismaは、Poppyの今日までの成功に不可欠であり、チームはPrismaが会社の成長とともに大きな役割を果たし続けると予想しています。型安全性は信頼につながります。データベースでの信頼は特に重要であり、Prisma Clientを使用することで、Poppyはこれを達成できます。

Prismaがチームの生産性向上にどのように役立つかについての詳細については、Prisma Slackコミュニティに参加してください。

次回の投稿をお見逃しなく!

Prismaニュースレターに登録する