ITS-BM は、サークル(ITS)の部屋にある本を管理するための Web アプリケーションです。
- 蔵書の登録・管理(ISBN からの自動情報取得)
- 貸出・返却管理
- Discord Bot 経由での操作
- Web での蔵書一覧表示(画像付き)
- サークルメンバーが持ち寄った本の所有者を記録
- Discord OAuth による認証
- 誰でも書籍登録可能、自分の登録分は編集・削除可能
| ドキュメント | 説明 |
|---|---|
| システム構成 | 全体アーキテクチャ、技術スタック |
| データベース設計 | テーブル定義、ER図 |
| API設計 | エンドポイント一覧、リクエスト/レスポンス |
| 画面設計 | Web アプリの画面一覧 |
| 権限設計 | ユーザー権限、操作可否 |
| インフラ設計 | デプロイ構成、環境変数 |
| コンポーネント | 技術 |
|---|---|
| API Server | TypeScript + Hono |
| ORM | Drizzle ORM |
| Database | PostgreSQL |
| Web Frontend | React + Vite + TailwindCSS |
| 認証 | Discord OAuth2 + JWT |
| 書籍情報取得 | OpenBD API |
| プロセス管理 | systemd |
| リバースプロキシ | Nginx |
ITS-BookManagement/
├── its-discord/ # 既存 Discord Bot
├── apps/
│ ├── api/ # バックエンド API
│ │ ├── src/
│ │ │ ├── domain/
│ │ │ ├── infrastructure/
│ │ │ ├── interfaces/
│ │ │ └── main.ts
│ │ ├── drizzle/
│ │ └── package.json
│ └── web/ # フロントエンド
│ ├── src/
│ └── package.json
├── packages/
│ └── shared/ # 共通型定義
├── docs/ # 設計ドキュメント
└── package.json
| 順番 | タスク |
|---|---|
| 1 | プロジェクト初期構築(monorepo セットアップ) |
| 2 | DB スキーマ作成(Drizzle マイグレーション) |
| 3 | API 実装 |
| 4 | Web フロントエンド実装 |
| 5 | デプロイ設定(systemd, Nginx) |
| 6 | Discord Bot 改良(最後) |