東京工科大学のサークル情報を集約・可視化するWebサービス
各サークルの担当者が自律的に情報を更新できることを強みとし、受験生・在学生に最新のサークル情報を提供するポータルサイトです。
- Frontend: Next.js 15 (App Router) + shadcn/ui + Tailwind CSS
- Backend: FastAPI + SQLModel + PostgreSQL
- Infrastructure: Docker Compose
- Development Tools: mise + uv + npm
CirclePortalNEXT/
├── backend/ # FastAPI バックエンド
├── frontend/ # Next.js フロントエンド
├── docs/ # ドキュメント
├── docker-compose.yml
├── .mise.toml # 開発環境管理
└── README.md
- リポジトリをクローン
git clone <repository-url>
cd CirclePortalNEXT- mise で環境をセットアップ
# Python 3.12 と Node 20 を自動インストール
mise install
# 依存関係をインストール
mise run setup- 環境変数を設定
# Backend
cp backend/.env.example backend/.env
# Frontend
cp frontend/.env.local.example frontend/.env.local- データベースを起動
docker compose up -d# すべてのサービスを起動(DB + Backend + Frontend)
mise run dev- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
# Backend のみ
cd backend
uv run uvicorn app.main:app --reload
# Frontend のみ
cd frontend
npm run dev# すべてのテストを実行
mise run test
# Backend のみ
cd backend && uv run pytest
# Frontend のみ
cd frontend && npm run test# すべてのサービスを停止
mise run down
# データベースをリセット(警告: すべてのデータが削除されます)
mise run db-reset詳細な要件定義やDB設計については以下を参照してください:
- GitHub Flow を採用
mainブランチは常にデプロイ可能な状態を保つ- フィーチャーブランチから PR を作成してマージ
Conventional Commits に準拠:
feat:新機能fix:バグ修正docs:ドキュメントstyle:フォーマットrefactor:リファクタリングtest:テストchore:その他
このプロジェクトは東京工科大学 Linux Club により開発されています。 東京工科大学の最新サークル情報一覧を行えるサービス