阪大 Innovators' Club(i-Club)向けの施設・設備予約システムです。団体(学生)からの予約申請と事務局による承認・管理、および Google Calendar との連携機能を備えています。
本プロジェクトは、機能ベース(バーティカル)開発を前提に、フルスタックな技術構成を採用しています。
- 言語: TypeScript
- フロントエンド・バックエンド: React Router v8 (旧 Remix)
- ルート単位で UI コンポーネント、データ取得(Loader)、更新処理(Action)を統合
- スタイリング: Tailwind CSS + shadcn/ui
- データベース: Cloudflare D1 (SQLite)
- ORM: Drizzle ORM
- 認証: Better Auth
osaka-u.ac.jpドメイン限定のメール(マジックリンク / 認証コード)認証
- インフラ・ホスティング: Cloudflare Workers
- IaC: Terraform を用いたインフラ定義と管理
- パッケージマネージャー: pnpm
依存関係のインストール:
pnpm installローカル環境の DB へのマイグレーションの適用
pnpm run db:migrate:local開発サーバーの起動(HMR 対応):
pnpm run devアプリケーションは http://localhost:5173 で利用可能になります。
※ ローカルの D1 データベース(SQLite)のシード手順については、追って整備します。
Tip
開発サーバーの起動後に、別ターミナルで以下のコマンドを実行すると、DB の内容を直接確認・変更できる Drizzle Studio を起動できます。
https://local.drizzle.studio で利用可能です。
pnpm run db:studio