Files
ai-showcase-platform/PROJECT_ANALYSIS.md

7.9 KiB

AI 展示平台專案完整解析

📋 專案概述

強茂集團 AI 展示平台 是一個企業內部 AI 應用展示與競賽管理系統,旨在促進 AI 技術的創新與應用。系統提供完整的競賽管理、評審系統、用戶互動和數據分析功能。

🏗️ 技術架構

前端技術棧

  • 框架: Next.js 15.2.4 (App Router)
  • 語言: TypeScript 5
  • UI 庫:
    • Radix UI (無障礙組件)
    • shadcn/ui (設計系統)
    • Tailwind CSS (樣式框架)
  • 狀態管理: React Context API
  • 表單處理: React Hook Form + Zod
  • 圖表: Recharts
  • 包管理器: pnpm

後端技術棧

  • 資料庫: MySQL 8.0
  • ORM: 自定義資料庫服務層
  • API: Next.js API Routes
  • 認證: JWT + localStorage
  • 文件上傳: 本地存儲

資料庫設計

  • 主機: mysql.theaken.com:33306
  • 資料庫: db_AI_Platform
  • 表數量: 25 個核心表
  • 視圖數量: 3 個統計視圖
  • 觸發器: 4 個自動計算觸發器

🎯 核心功能模組

1. 用戶管理系統

  • 三種角色:

    • 一般用戶 (user): 瀏覽應用、參與投票
    • 開發者 (developer): 提交AI應用、參與競賽
    • 管理員 (admin): 系統管理、數據分析
  • 核心功能:

    • 註冊/登入/登出
    • 個人資料管理
    • 收藏應用
    • 按讚功能 (每日限制)
    • 瀏覽記錄追蹤
    • 活動統計分析

2. 競賽系統

  • 競賽類型:

    • 個人賽 (individual)
    • 團隊賽 (team)
    • 提案賽 (proposal)
    • 混合賽 (mixed)
  • 競賽狀態:

    • upcoming: 即將開始
    • active: 進行中
    • judging: 評審中
    • completed: 已完成
  • 核心功能:

    • 競賽創建與管理
    • 參賽報名
    • 評審分配
    • 評分系統
    • 獎項頒發
    • 結果統計

3. 評審系統

  • 評分維度:

    • 創新性 (Innovation)
    • 技術性 (Technical)
    • 實用性 (Usability)
    • 展示效果 (Presentation)
    • 影響力 (Impact)
  • 評分範圍: 1-10 分

  • 評分權重: 可自定義

  • 評分統計: 自動計算平均分

4. 團隊管理

  • 團隊結構:

    • 隊長 (Leader)
    • 成員 (Member)
    • 角色分配
  • 核心功能:

    • 團隊創建與管理
    • 成員邀請與管理
    • 團隊統計分析
    • 團隊競賽參與

5. 應用管理

  • 應用類型:

    • 機器學習應用
    • 自然語言處理
    • 計算機視覺
    • 數據分析
    • 自動化工具
  • 核心功能:

    • 應用提交
    • 應用展示
    • 評分統計
    • 用戶互動

6. 提案管理

  • 提案內容:

    • 問題陳述
    • 解決方案
    • 預期影響
    • 附件支持
  • 提案狀態:

    • draft: 草稿
    • submitted: 已提交
    • under_review: 審核中
    • approved: 已批准
    • rejected: 已拒絕

7. 獎項系統

  • 獎項類型:

    • 金獎 (Gold)
    • 銀獎 (Silver)
    • 銅獎 (Bronze)
    • 人氣獎 (Popular)
    • 創新獎 (Innovation)
    • 技術獎 (Technical)
    • 自定義獎項 (Custom)
  • 獎項類別:

    • 創新性 (Innovation)
    • 技術性 (Technical)
    • 實用性 (Practical)
    • 人氣 (Popular)
    • 團隊合作 (Teamwork)
    • 解決方案 (Solution)
    • 創意 (Creativity)

8. AI 助手系統

  • 功能特色:

    • 智能問答
    • 操作指導
    • 快速問題
    • 會話管理
  • 技術實現:

    • DeepSeek API 集成
    • 上下文管理
    • 會話持久化

📊 資料庫設計

核心表結構

用戶相關表

  • users: 用戶基本資訊
  • user_favorites: 用戶收藏
  • user_likes: 用戶按讚
  • user_views: 用戶瀏覽記錄
  • user_ratings: 用戶評分

競賽相關表

  • competitions: 競賽基本資訊
  • competition_rules: 競賽規則
  • competition_award_types: 獎項類型
  • competition_judges: 評審分配
  • competition_apps: 參賽應用
  • competition_teams: 參賽團隊
  • competition_proposals: 參賽提案

評審相關表

  • judges: 評審基本資訊
  • app_judge_scores: 應用評分
  • proposal_judge_scores: 提案評分

團隊相關表

  • teams: 團隊基本資訊
  • team_members: 團隊成員

應用相關表

  • apps: 應用基本資訊
  • proposals: 提案基本資訊
  • awards: 獎項記錄

系統相關表

  • chat_sessions: 聊天會話
  • chat_messages: 聊天訊息
  • ai_assistant_configs: AI 配置
  • system_settings: 系統設定
  • activity_logs: 活動日誌

統計視圖

  • user_statistics: 用戶統計
  • app_statistics: 應用統計
  • competition_statistics: 競賽統計

觸發器

  • calculate_app_total_score: 應用評分總分計算
  • calculate_proposal_total_score: 提案評分總分計算

🔧 開發環境設置

1. 環境要求

  • Node.js 18+
  • pnpm
  • MySQL 8.0+
  • Git

2. 安裝步驟

# 克隆專案
git clone <repository-url>
cd ai-showcase-platform

# 安裝依賴
pnpm install

# 設置環境變數
cp env.example .env.local

# 執行資料庫遷移
pnpm run migrate

# 測試資料庫連接
pnpm run test:db

# 啟動開發服務器
pnpm run dev

3. 環境變數配置

# 資料庫配置
DB_HOST=mysql.theaken.com
DB_PORT=33306
DB_NAME=db_AI_Platform
DB_USER=AI_Platform
DB_PASSWORD=Aa123456

# DeepSeek API 配置
NEXT_PUBLIC_DEEPSEEK_API_KEY=your_api_key
NEXT_PUBLIC_DEEPSEEK_API_URL=https://api.deepseek.com/v1/chat/completions

# JWT 配置
JWT_SECRET=your_jwt_secret
JWT_EXPIRES_IN=7d

📁 專案結構

ai-showcase-platform/
├── app/                    # Next.js App Router
│   ├── admin/             # 管理員頁面
│   ├── competition/       # 競賽頁面
│   ├── judge-scoring/     # 評審頁面
│   └── register/          # 註冊頁面
├── components/            # React 組件
│   ├── admin/            # 管理員組件
│   ├── auth/             # 認證組件
│   ├── competition/      # 競賽組件
│   ├── reviews/          # 評分組件
│   └── ui/               # UI 組件庫
├── contexts/             # React Context
│   ├── auth-context.tsx  # 認證上下文
│   └── competition-context.tsx # 競賽上下文
├── hooks/                # 自定義 Hooks
├── lib/                  # 工具庫
│   ├── database.ts       # 資料庫連接
│   ├── models.ts         # 資料模型
│   └── services/         # 服務層
├── types/                # TypeScript 類型
├── scripts/              # 腳本文件
├── public/               # 靜態資源
└── styles/               # 樣式文件

🚀 部署指南

1. 生產環境準備

  • 設置生產資料庫
  • 配置環境變數
  • 設置文件上傳目錄
  • 配置反向代理

2. 部署步驟

# 構建專案
pnpm run build

# 啟動生產服務器
pnpm run start

3. 監控與維護

  • 資料庫備份
  • 日誌監控
  • 性能監控
  • 錯誤追蹤

🔍 功能特色

1. 響應式設計

  • 移動端適配
  • 平板端優化
  • 桌面端完整功能

2. 無障礙支持

  • 鍵盤導航
  • 屏幕閱讀器支持
  • 高對比度模式

3. 國際化支持

  • 繁體中文界面
  • 多語言擴展準備

4. 性能優化

  • 代碼分割
  • 圖片優化
  • 緩存策略

📈 未來規劃

短期目標

  • 完善評審系統
  • 優化用戶體驗
  • 增加數據分析功能

中期目標

  • 移動端應用
  • 實時通知系統
  • 高級搜索功能

長期目標

  • 多租戶支持
  • 微服務架構
  • 人工智能集成

🤝 貢獻指南

1. 代碼規範

  • TypeScript 嚴格模式
  • ESLint 規則遵循
  • Prettier 格式化

2. 提交規範

  • 清晰的提交信息
  • 功能分支開發
  • 代碼審查流程

3. 測試要求

  • 單元測試
  • 集成測試
  • 端到端測試

📞 技術支援

如有任何技術問題,請聯繫:

  • 技術團隊
  • 項目維護者
  • 查看專案文檔

版本: 1.0.0
最後更新: 2024年12月
維護者: 強茂集團技術團隊