This template should help get you started developing with Vue 3 in Vite.
VS Code + Vue (Official) (and disable Vetur).
- Chromium-based browsers (Chrome, Edge, Brave, etc.):
- Firefox:
See Vite Configuration Reference.
npm installnpm run dev # CIRCLE — PiedPiper 会計管理システム
このリポジトリは PiedPiper(青山テック愛好会)向けの会計管理システムです。
フロントエンドは Vue 3 + Vite、バックエンドは FastAPI(Python)で構成され、Discord サインインや Supabase を用いた認証/データ永続化を想定しています。
目次
- 概要
- アーキテクチャと使用技術
- ローカル開発手順(frontend / backend)
- 環境変数
- Docker / コンテナについて
- 主要ファイルとディレクトリ
- 貢献と連絡先
## 概要
このプロジェクトは次の機能を持ちます(実装済/設計中の機能を含む):
- Discord OAuth によるサインイン
- 会計レコードの作成・閲覧・ステータス管理(未清算/清算済み/削除など)
- 管理者向けのレコード管理 UI(同期・フィルタ・操作)
- バックグラウンドでの Discord と Supabase の同期(管理者リスト / メンバーリスト)
## アーキテクチャと使用技術
- フロントエンド: Vue 3(Composition API) + Vite + TypeScript 設定ファイルあり
- UI はコンポーネント化(`src/components`)、状態は Pinia や Supabase クライアントで管理
- バックエンド: Python + FastAPI
- API ルータは `backend/routers`、DB 操作ロジックは `backend/cruds` に配置
- オプションで discord.py を用いた Discord クライアント連携(`backend/cruds/discord_sync.py` など)
- 認証 / DB: Supabase(Postgres)を想定
- 開発環境: Docker Compose(`docker-compose.yaml` / `docker-compose.override.yaml`)
## ローカル開発手順
前提:
- Node.js(推奨: 18+)と Python(3.10+ 推奨)、Docker(任意)がインストールされていること。
1) フロントエンド
```powershell
cd frontend
npm install
npm run dev- バックエンド
推奨: 仮想環境を作成してから依存をインストールします。
cd backend
python -m venv .venv
.\\.venv\\Scripts\\Activate.ps1 # PowerShell の場合
pip install -r requirements.txt
uvicorn main:app --reloadバックエンドは main.py の起動時に Discord 連携モジュールをオプションで読み込みます(discord ライブラリが環境に無い場合は無効化されます)。
このリポジトリには docker-compose.yaml が含まれており、フロント / バックエンドと DB をまとめて起動できます。設定に従ってイメージをビルドしてください。
docker compose build
docker compose up(初回起動時は依存の再インストールや環境変数の設定が必要です)
プロジェクトで使用する主な env 変数(例):
-
フロントエンド(
.env/ Vite)VITE_API_BASE_URL— バックエンド API のベース URL
-
バックエンド(例:
.envやコンテナの環境)DATABASE_URL— PostgreSQL 接続文字列 (Supabase の場合は Supabase の接続文字列)DISCORD_BOT_TOKEN— (任意)discord.py を使う場合のボットトークンSUPABASE_URL,SUPABASE_KEY— Supabase クライアント用
実際のキーやシークレットはソース管理に含めないでください。
frontend/— Vue アプリケーションsrc/components— UI コンポーネント(管理用コンポーネントはsrc/components/admin)src/views— ルーティング用ビューvite.config.ts,package.json
backend/— FastAPI アプリケーションmain.py— アプリ起動点routers/— API ルータcruds/— DB 操作 / 外部同期ロジック(Discord 同期等)requirements.txt
docker-compose.yaml,docker-compose.override.yaml— 開発/デプロイ用 compose 設定
- フロントで
node_modulesが無い場合、TypeScript/Vue の言語サーバがエラーを表示することがあります。npm installを行ってからエディタの再起動(または Vue/TypeScript サーバの再起動)を実行してください。 - バックエンドに discord 機能を追加する際は
discord.pyの依存をrequirements.txtに加えてからコンテナを再ビルドしてください。起動時に optional import を行っているため、discord が無くても通常の API 動作は行えます。
バグ報告・機能要望は issue へお願いします。Pull Request は小さな単位で、関連する説明と動作確認手順を添えてください。