はじめに
以下の主な機能をもつウェブとモバイルのクロスプラットフォームアプリを紹介します。
- モバイル対応: Capacitor を使って、Android や iOS 向けにも対応可能。
- ビデオ会議機能: Zoom SDK が含まれているため、遠隔でのビデオ会議や診療が可能。
- APIデータアクセス: React Query や axios を使って、データアクセス管理がされている。
使用している技術スタック
Next.js
"next": "14.1.3",
"react": "^18.2.0",
"react-dom": "^18.2.0"
React ベースのフレームワークである Next.js を使ってアプリが構築されており、フロントエンドは React で構成されています。Next.js は SSR(サーバーサイドレンダリング)や静的サイト生成が可能なため、パフォーマンスや SEO に優れたアプリです。
Capacitor
"@capacitor/android": "^5.7.3",
"@capacitor/ios": "^5.7.3",
"@capacitor/core": "^5.7.3",
Capacitor は、モバイルデバイス(Android、iOS)向けの機能を提供するライブラリです。これにより、Web アプリがネイティブアプリとして Android や iOS でも動作するようになります。このアプリは、モバイルアプリとしてもデプロイできることがわかります。
Tailwind CSS
"tailwindcss": "^3.4.1"
Tailwind CSS を使用して、効率的なユーティリティファーストのスタイリングが適用されています。アプリケーションのデザインは Tailwind を用いてカスタマイズされています。
React Hook Form
"react-hook-form": "^7.51.1"
React Hook Form が使われており、フォームの入力やバリデーションが行われることがわかります。患者のライフログに関連したデータを入力するフォーム機能が存在することが予想されます。
Radix UI
"@radix-ui/react-checkbox": "^1.0.4",
"@radix-ui/react-dialog": "^1.0.5",
Radix UI のコンポーネントが使用されているため、ユーザーインターフェースがモダンでアクセス可能なコンポーネントで構成されていると考えられます。
React Query
"@tanstack/react-query": "^5.28.4"
React Query によって、データフェッチやキャッシュ管理が行われています。おそらく患者データやライフログに関連するデータが、API を介して非同期に取得・更新されているはずです。
Zoom SDK
"@zoom/meetingsdk": "^3.5.1",
"@zoom/videosdk": "^1.10.8",
Zoom のミーティングやビデオに関連する機能が統合されています。患者や医師とのビデオ会議機能が存在する可能性があります。
Storybook
json "storybook": "^7.6.17",
UI コンポーネントの開発とテストに Storybook が使用されています。これにより、UI コンポーネントのビジュアルテストやドキュメンテーションが可能です。
Auth0
"@auth0/auth0-react": "^2.2.4"
@auth0/auth0-react
を使うと、React アプリ内で簡単に Auth0 を統合できます。例えば、Auth0Provider
コンポーネントを使ってアプリ全体に認証機能を適用し、ログインやユーザー情報を取得することができます。