# 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. 安裝步驟 ```bash # 克隆專案 git clone cd ai-showcase-platform # 安裝依賴 pnpm install # 設置環境變數 cp env.example .env.local # 執行資料庫遷移 pnpm run migrate # 測試資料庫連接 pnpm run test:db # 啟動開發服務器 pnpm run dev ``` ### 3. 環境變數配置 ```env # 資料庫配置 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. 部署步驟 ```bash # 構建專案 pnpm run build # 啟動生產服務器 pnpm run start ``` ### 3. 監控與維護 - 資料庫備份 - 日誌監控 - 性能監控 - 錯誤追蹤 ## 🔍 功能特色 ### 1. 響應式設計 - 移動端適配 - 平板端優化 - 桌面端完整功能 ### 2. 無障礙支持 - 鍵盤導航 - 屏幕閱讀器支持 - 高對比度模式 ### 3. 國際化支持 - 繁體中文界面 - 多語言擴展準備 ### 4. 性能優化 - 代碼分割 - 圖片優化 - 緩存策略 ## 📈 未來規劃 ### 短期目標 - 完善評審系統 - 優化用戶體驗 - 增加數據分析功能 ### 中期目標 - 移動端應用 - 實時通知系統 - 高級搜索功能 ### 長期目標 - 多租戶支持 - 微服務架構 - 人工智能集成 ## 🤝 貢獻指南 ### 1. 代碼規範 - TypeScript 嚴格模式 - ESLint 規則遵循 - Prettier 格式化 ### 2. 提交規範 - 清晰的提交信息 - 功能分支開發 - 代碼審查流程 ### 3. 測試要求 - 單元測試 - 集成測試 - 端到端測試 ## 📞 技術支援 如有任何技術問題,請聯繫: - 技術團隊 - 項目維護者 - 查看專案文檔 --- **版本**: 1.0.0 **最後更新**: 2024年12月 **維護者**: 強茂集團技術團隊