7.9 KiB
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月
維護者: 強茂集團技術團隊