2021年7月1日

Pearly が Prisma を活用して超リーンなチームで迅速にスケールできた方法

Pearly は、歯科医がより優れた信頼性の高い収益源と、患者向けのより手頃なケアプランを作成するためのプラットフォームを提供しています。 Prisma が、超リーンなチームで迅速にスケールするのにどのように役立ったかをご覧ください。

How Prisma Allowed Pearly to Scale Quickly with an Ultra-Lean Team

Pearly は、歯科医がより優れた信頼性の高い収益源を作成できるようにする歯科金融エンゲージメントプラットフォームです。 Pearly は、Pearly Pay と Pearly Plan の 2 つの製品を提供しています。患者は Pearly Plan を使用して、歯科医から手頃な料金でケアプランにアクセスできます。さらに、Pearly Pay を使用すると、歯科医院は顧客の支払いを自動化できます。

Pearly の金融プラットフォームは、歯科医と患者にスムーズなユーザーエクスペリエンスを提供しながら、HIPAA に準拠し、情報の安全性を確保しています。

Pearly は現在、エンジニアリングチームを拡大していますが、両方の製品の最初のバージョンは、単一の開発者によって構築されました。 Prisma のツールにより、Pearly はデータベースクエリと移行を気にすることなく、製品を迅速に反復処理することができました。

Prisma による有利なスタート

多くのスタートアップの共通の傾向は、リーンソフトウェア開発手法を採用することです。この戦略は、リスクにできるだけ迅速かつ安価に対処することに焦点を当てています。リーンはまた、チームが無駄を嫌い、反復的であることを重視しています。プロセスと製品は、開発と学習のサイクルを通じて段階的に改善されます。

特に、ショーン・エマー (Pearly の CTO) のチームに対するビジョンは、製品の立ち上げ後にスケールする能力を犠牲にすることなく、市場からのフィードバックに基づいて製品仕様を迅速に反復および適応させることです。 Prisma は彼にこれを両立させる能力を与え、堅牢な SQL データベースに対して、ベストプラクティスに従い、最小限のボイラープレートで、非常に柔軟な GraphQL API を構築することを可能にしました。

ショーンは、最初から Prisma を頼りになるデータベースクライアントとして選びました。 Prisma はデータベースの管理を抽象化し、彼がミッションクリティカルな機能の提供に集中できるようにしました。 Prisma Client は、データベースアクセス用のクリーンな API を提供し、Prisma Migrate は、スキーマの変更を管理します。

「これは、私がこれまでで最も速く開発できた方法です。ツールの導入により、作業に費やす時間を大幅に削減できました。それだけでなく、これまで 1 ~ 2 日かかっていた新しい機能の追加も、今では半日で済むようになりました。」

ショーン・エマーショーン・エマー、CTO 兼共同創業者 (Pearly Plan)

Pearly のスタックはシンプルでモダンであり、スケールを可能にしました。バックエンドは、次のライブラリとサードパーティサービスで構築されています。

  • GraphQL (Apollo)
  • GraphQL Nexus
  • サーバーレス (Google Cloud Platform 上)
  • PostgreSQL
  • Stripe
  • Firebase

Pearly Architecture

内部的には、Pearly は GraphQL によって抽象化された複数のサードパーティサービスと通信します。これは、フロントエンドアプリケーションがデータのフェッチ元を気にすることなく、API からデータをクエリすることを意味します。 GraphQL スキーマは Apollo Schema レジストリにアップロードされます。フロントエンドアプリケーションは、アップロードされたスキーマを使用して、オートコンプリートを提供する型を生成します。

Pearly のアプリケーションは、フロントエンドとバックエンドの両方で完全に TypeScript で記述されており、エンドツーエンドのタイプセーフアプリケーションを実現しています。

Prisma データモデルから始まるエンドツーエンドのタイプセーフは、コンパイル時のバグの削減、およびより簡単なリファクタリングまたは機能拡張という点で、Pearly にとって有益であり続けています。累積的な結果として、開発者の生産性、開発者体験、そして最終的にはより堅牢で適応性のある製品が大幅に向上しました。

新しいフィールドとリレーションシップを追加するために、prisma db push を使用すると、ショーンはデータベース移行を作成および編集せずに、新しいスキーマを迅速にプロトタイプ化できます。

「...Prisma を使用するという決定に本当に満足しています。非常に迅速に反復処理を進めています...」

ショーン・エマーショーン・エマー、CTO 兼共同創業者 (Pearly Plan)

db push によるスキーマプロトタイピング

アイデアを検証するために、プロトタイプを迅速に構築することが不可欠です。プロトタイプを使用すると、チームは目的の状態に達するまで製品を反復処理できます。

Prisma を使用すると、prisma db push コマンドを使用してデータベーススキーマをプロトタイプ化できます。スキーマの変更をバージョン管理する必要がなく、変更をプレビューせずに目的の最終状態に到達することを優先する場合に便利です。

Prisma スキーマは、データモデルを人間が読める直感的なものにします。

Prisma を使用すると、db push コマンドを使用して移行を生成せずに、スキーマを迅速にプロトタイプ化および反復処理できます。

上記のコマンドは、次のように使用できるタイプセーフなデータベースクライアントを提供する Prisma Client も生成します。

結論

Prisma は、初期段階のスタートアップである Pearly にとって重要な役割を果たしてきました。その結果、ショーンはより迅速に行動し、現在ソロ開発者として新しい機能の展開に集中しています。

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

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

Prisma ニュースレターにサインアップ