コンテンツにスキップ

ウェブサーフェス

Schiftウェブアプリケーションは、パブリックマーケティングページ、ローカライズされたドキュメント、SEOコンテンツ、認証されたダッシュボードを1つのブラウザ向けのサーフェスで提供するAstroプロジェクトです。

ルート用途
/, /pricingマーケティングランディングページ
/docs/*クイックスタート、SDK、CLI、概念、ウェブリファレンスのためのドキュメントシェル
/blog/*, /compare/*, /guides/*SEOおよび教育コンテンツ
/ko/*, /jp/*韓国語および日本語のローカライズされたエントリーポイント
/app, /app/workflows, /app/oauth-callback認証されたダッシュボードシェルおよびワークフロービルダーのエントリーポイント

注意: /app/* ルートは認証が必要なため、パブリックサイトマップから除外されています。

要素現在の選択
Site frameworkAstro 6
Interactive UIReact 19
StylingTailwind CSS 4 およびローカルUIプリミティブ
LocalizationAstro i18n with en, ko, and jp
Deploy targetCloudflare Pages with dist/ output from npm run build

要件:

  • Node.js >=22.12.0
  • npm
Terminal window
cd schift-web
npm install
npm run dev

デフォルトの開発サーバーは http://127.0.0.1:4324 で実行されます。Connectサーフェスを別のポートで実行するには:

Terminal window
npm run dev:connect

Connectはデフォルトで http://127.0.0.1:4325 を使用します。

ウェブアプリは、APIリクエストおよびビルド時のSEOアーティファクトのためにブラウザに公開された環境変数を読み取ります。

変数用途
PUBLIC_API_URLプロダクトAPIのオリジン
PUBLIC_AUTH_API_URL認証APIのオリジン(ローカル互換性のために PUBLIC_API_URL にフォールバック)
PUBLIC_CONNECT_ORIGINログイン後の戻り先として許可するConnectアプリのオリジン
PUBLIC_COOKIE_DOMAINアプリとConnectのサブドメインで共有する認証クッキードメイン
PUBLIC_COOKIE_PREFIXダッシュボード認証で使用されるJS読み取り可能なCSRFクッキーのプレフィックス
PUBLIC_SSO_SECURITY_URL2FA設定からリンクするアカウントセキュリティページのHTTPS URL
PUBLIC_GA_MEASUREMENT_IDGoogle Analyticsの測定ID(非プロダクションビルド用にオーバーライド)
PUBLIC_SITE_URLビルド時に必要な正規のパブリックウェブオリジン
PUBLIC_WIDGET_BROWSER_URLウィジェットHTML埋め込みコードに表示するブラウザモジュールURL
PUBLIC_WIDGET_NPM_PACKAGEReact/Nextウィジェットインストールコードに表示するNPMパッケージ名

注意: プロダクション環境で PUBLIC_API_URLPUBLIC_AUTH_API_URL の両方を設定しないと、ウェブアプリの異なる部分が異なるバックエンドと通信する可能性があります。

ダッシュボードの認証は、バックエンドで設定された httpOnly クッキーと、PUBLIC_COOKIE_PREFIX から派生したJS読み取り可能なCSRFおよび戻り先クッキーを使用します。アプリとConnectが同じ親ドメインを共有する場合のみ PUBLIC_COOKIE_DOMAIN を設定し、Connectがログイン後に自分のオリジンへ戻す必要がある場合に PUBLIC_CONNECT_ORIGIN を設定します。

ウェブリポジトリはブラウザ向けのUIのみを所有します。再利用可能なプロダクト契約は schift-api に存在し、ソース同期実行は schift-worker に、検索動作は schift-db に存在します。

サーフェス場所責任
Public siteapps/wwwマーケティング、ドキュメント、価格設定、およびコンテンツルート
Dashboardapps/app認証されたプロダクト画面および /app/api/* BFFハンドラー
Connect/onboardingapps/connectソース選択、OAuthハンドオフ、ビジネス登録、 /connect/api/* BFFハンドラー

注意: 再利用可能なAPI契約をウェブリポジトリに置かないでください。ウェブローカルハンドラーは、セッションブートストラップ、OAuthの戻り、オンボーディングのドラフト状態、および画面固有の集約のためだけに使用されます。

サイトは静的なAstroサイトとしてビルドされます。Cloudflare Pagesは、wrangler.toml に設定された生成された dist/ ディレクトリを提供します。

Terminal window
npm run build
npm run preview

注意: プロダクションビルドには、正しいSEOアーティファクトを生成するために PUBLIC_SITE_URL が必要です。