koi-tre-auth は、koi-tre の認証機能とアプリケーション API を提供する SvelteKit プロジェクトです。 Firebase 認証、Drizzle、PostgreSQL を使って Dify アプリ連携用の API と利用履歴管理を提供します。
- SvelteKit をベースにした最新のフロントエンド開発環境
- Firebase を用いた認証機能
- Drizzle + PostgreSQL を利用したデータベース連携
- Dify アプリから利用する内部 API
- Vercel をデプロイ先として利用(現状は手動デプロイ)
- ESLint と Prettier によるコードフォーマットと静的解析
- Node.js v20 以上
- pnpm
- PostgreSQL
- Firebase プロジェクト設定
git clone https://github.com/your-username/koi-tre-auth.git
cd koi-tre-authpnpm install.env.sample をコピーして .env ファイルを作成し、Firebase / Firebase Admin / PostgreSQL / Dify API トークン / Dify アクセスキー署名シークレットを設定してください。
注意: 各サービスのキーやドメインは、実際の値に置き換えてください。
createdb koitre
pnpm db:setupdb:setup は migration 適用後に db_cluster-13-07-2025@01-16-45.neon-ready-no-connect.sql から public.users と public.operations の seed を投入します。
DB 系コマンドは通常 .env を読み込みます。production 向けには NODE_ENV=production を指定した別スクリプトを用意しており、.env.production を読み込んで実行します。
pnpm db:reset
pnpm db:status
pnpm db:generate:prod
pnpm db:reset:prod
pnpm db:status:prod
pnpm db:migrate:prod
pnpm db:seed:prod
pnpm db:setup:prod開発サーバーを起動して、ローカル環境で動作を確認します。
pnpm devブラウザで http://localhost:5173 を開いて、アプリケーションを確認してください。
Dify ワークフローに設定する項目は、次のコマンドで確認できます。
pnpm dify:configBearer トークンを実値で表示したい場合は、次を実行してください。
pnpm dify:config -- --show-secretsコードのフォーマットや静的解析には ESLint と Prettier を使用しています。 以下のコマンドでチェックを実行できます。
pnpm lint本番用ビルドを作成するには、以下のコマンドを実行します。
pnpm buildビルド後、以下のコマンドでローカルプレビューが可能です。
pnpm preview本プロジェクトでは、Vercel をデプロイ先として利用していますが、現状自動デプロイの設定は行っていません。 Vercel の管理画面から手動でデプロイするか、今後 GitHub Actions などを用いて自動デプロイを実装してください。
プロジェクトには GitHub Actions を利用した CI ワークフローも用意されています。 現状ではコードの静的解析やテストを実行する設定となっています。
バグ修正や機能追加の提案は大歓迎です。 プルリクエストを送る前に、まず Issue で議論していただけると助かります。
Happy Coding!