Skip to content
This repository was archived by the owner on Jun 18, 2026. It is now read-only.

Latest commit

 

History

24 Commits

Folders and files

Repository files navigation

CirclePortal NEXT

東京工科大学のサークル情報を集約・可視化する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

セットアップ

必須ツール

  • mise - バージョン管理・タスクランナー
  • uv - Python パッケージ管理
  • Docker - コンテナ管理

初期セットアップ

  1. リポジトリをクローン
git clone <repository-url>
cd CirclePortalNEXT
  1. mise で環境をセットアップ
# Python 3.12 と Node 20 を自動インストール
mise install

# 依存関係をインストール
mise run setup
  1. 環境変数を設定
# Backend
cp backend/.env.example backend/.env

# Frontend
cp frontend/.env.local.example frontend/.env.local
  1. データベースを起動
docker compose up -d

開発

開発サーバーの起動

# すべてのサービスを起動(DB + Backend + Frontend)
mise run dev

個別起動

# 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設計については以下を参照してください:

開発ルール

Git フロー

  • GitHub Flow を採用
  • main ブランチは常にデプロイ可能な状態を保つ
  • フィーチャーブランチから PR を作成してマージ

コミットメッセージ

Conventional Commits に準拠:

  • feat: 新機能
  • fix: バグ修正
  • docs: ドキュメント
  • style: フォーマット
  • refactor: リファクタリング
  • test: テスト
  • chore: その他

ライセンス

このプロジェクトは東京工科大学 Linux Club により開発されています。 東京工科大学の最新サークル情報一覧を行えるサービス

About

東京工科大学の最新サークル情報一覧を行えるサービス

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages