Skip to content

CSC Flow is a real-time traffic monitoring and analytics system specifically designed for public sports centers across Taiwan. It provides up-to-date visitor counts, historical traffic statistics by time slot, and visual insights to help citizens avoid crowds while enabling facilities to optimize operations and improve service quality.

License

Notifications You must be signed in to change notification settings

sacahan/CSCFlow

Repository files navigation

CSCFlow System

專案概述

CSCFlow 是一個專為運動中心設計的人流監控與分析系統,提供以下功能:

截圖 2025-08-04 晚上11 51 02

  • 收集並顯示各運動中心的即時人流數據
  • 提供健身房和游泳池等區域的使用趨勢分析
  • 支援多種時間範圍的數據統計(日、週、月)
  • 使用者認證與授權機制

授權說明

本專案遵循 MIT 授權條款。詳細內容請參閱 LICENSE 文件。

技術堆疊

  • 後端框架:FastAPI
  • 資料庫:PostgreSQL (透過 SQLAlchemy 和 Asyncpg)
  • 快取:Redis
  • 任務排程:APScheduler
  • 容器化:Docker 與 Docker Compose
  • 前端框架:React
  • 測試框架:Pytest 與 React Testing Library
  • 持續整合/部署:GitHub Actions

開發環境設置

使用 uv 管理依賴

  1. 安裝 uv(如果尚未安裝):
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 創建虛擬環境並安裝依賴:
uv venv
source .venv/bin/activate  # macOS/Linux
# 或 .venv\Scripts\activate  # Windows
uv pip install -e "."

運行開發服務器

後端服務器:

uvicorn src.main:app --reload --host 0.0.0.0 --port 8000

前端開發環境:

npm install
npm start

代碼格式化

後端代碼:

black src/
isort src/

前端代碼:

npm run format

運行測試

後端測試:

pytest

前端測試:

npm test

使用 Docker Compose

專案可以使用 Docker Compose 進行容器化部署:

docker compose up -d

這將啟動以下服務:

  • 前端服務(端口 3000)
  • 後端 API 服務(端口 8000)
  • PostgreSQL 資料庫(端口 5432)
  • Redis 快取(端口 6379)

API 文檔

啟動服務器後,可以在以下地址查看 API 文檔:

後端架構

後端架構基於 FastAPI,並包含以下模組:

  • API 模組:提供 RESTful API 和 WebSocket 支援。
  • 資料收集器:包括 API 客戶端和網頁爬取器,用於收集運動中心的即時數據。
  • 資料庫:使用 SQLAlchemy 和 Asyncpg 與 PostgreSQL 進行交互。
  • 服務層:包含認證服務和數據流服務。
  • 排程器:使用 APScheduler 進行任務排程。

這些模組共同構成了 CSCFlow 的後端架構,支持運動中心人流管理的核心功能。

前端架構

前端基於 React,並包含以下模組:

  • 開發工具:使用 Vite 作為開發工具,提供快速的開發和構建體驗。
  • 樣式設計:使用 Tailwind CSS 進行樣式設計,支持自定義主題擴展。
  • 代理配置:配置了 API 和 WebSocket 代理,方便與後端進行交互。
  • 測試工具:使用 Vitest 進行單元測試,確保代碼質量。

這些模組共同構成了 CSCFlow 的前端架構,支持運動中心人流管理的核心功能。

About

CSC Flow is a real-time traffic monitoring and analytics system specifically designed for public sports centers across Taiwan. It provides up-to-date visitor counts, historical traffic statistics by time slot, and visual insights to help citizens avoid crowds while enabling facilities to optimize operations and improve service quality.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •