2025-08-05 11:43:28 +08:00
2025-08-05 08:22:44 +08:00
2025-08-05 08:22:44 +08:00
2025-08-05 11:43:28 +08:00
2025-08-05 08:22:44 +08:00
2025-08-05 08:22:44 +08:00
2025-08-05 08:22:44 +08:00
2025-08-05 08:22:44 +08:00
2025-08-05 08:22:44 +08:00
2025-08-05 08:22:44 +08:00
2025-08-05 08:22:44 +08:00
2025-08-05 08:22:44 +08:00
2025-08-05 08:22:44 +08:00
2025-08-05 08:22:44 +08:00
2025-08-05 08:22:44 +08:00
2025-08-05 08:22:44 +08:00

🚀 AI展示平台 (AI Showcase Platform)

強茂集團企業內部AI應用展示、競賽管理和評審系統

Next.js TypeScript Tailwind CSS License

📖 專案概述

AI展示平台是一個企業內部的AI應用展示、競賽管理和評審系統旨在促進AI技術的創新與應用。平台提供完整的競賽管理流程從競賽創建、作品提交、評審評分到頒獎的完整閉環並整合智能AI助手為用戶提供即時指導。

🎯 專案目標

  • 建立企業內部AI技術創新平台
  • 促進跨部門AI技術交流與合作
  • 提供完整的競賽管理和評審系統
  • 整合AI助手提升用戶體驗

核心功能

🏆 競賽管理系統

  • 多種競賽類型: 個人賽、團隊賽、提案賽、混合賽
  • 完整競賽流程: 創建 → 報名 → 提交 → 評審 → 頒獎
  • 動態評分系統: 根據競賽規則動態生成評分項目
  • 權重計算: 支援不同評分項目的權重設定

👥 用戶管理系統

  • 角色權限: 一般用戶(user) / 開發者(developer) / 管理員(admin)
  • 個人中心: 收藏管理、瀏覽記錄、參賽記錄
  • 互動功能: 按讚(每日限制)、收藏、評論

🏅 獎項系統

  • 獎項類型: 金獎/銀獎/銅獎、最佳創新獎、最佳技術獎、人氣獎
  • 獎項分類: 創新類、技術類、實用類、人氣類、團隊協作類
  • 排行榜: 人氣排行榜、得獎作品展示

🤖 AI智能助手

  • 即時對話: 與AI助手進行自然語言對話
  • 智能回答: 基於DeepSeek API的智能回應
  • 快速問題: 提供相關問題的快速選擇
  • 上下文記憶: 保持對話的連續性

📊 管理員後台

  • 用戶管理: 用戶列表、權限管理、資料編輯
  • 競賽管理: 競賽創建、狀態管理、參賽者管理
  • 評審管理: 評審帳號、評分進度追蹤
  • 數據分析: 競賽統計、用戶活躍度、應用熱度分析

🛠 技術架構

前端技術棧

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

開發工具

  • 包管理器: pnpm
  • 代碼品質: ESLint + TypeScript
  • 樣式處理: PostCSS + Tailwind CSS
  • 圖標: Lucide React

📁 專案結構

ai-showcase-platform/
├── app/                    # Next.js App Router
│   ├── admin/             # 管理員頁面
│   │   ├── page.tsx       # 管理員主頁
│   │   └── scoring/       # 評分管理
│   ├── competition/       # 競賽頁面
│   ├── judge-scoring/     # 評審評分頁面
│   ├── register/          # 註冊頁面
│   ├── layout.tsx         # 根布局
│   └── page.tsx           # 首頁
├── components/            # React 組件
│   ├── admin/            # 管理員專用組件
│   ├── auth/             # 認證相關組件
│   ├── competition/      # 競賽相關組件
│   ├── ui/               # 通用UI組件
│   └── chat-bot.tsx      # AI智能助手
├── contexts/             # React Context
│   ├── auth-context.tsx  # 認證狀態管理
│   └── competition-context.tsx # 競賽狀態管理
├── hooks/                # 自定義 Hooks
├── lib/                  # 工具函數
├── types/                # TypeScript 類型定義
└── public/               # 靜態資源

🚀 快速開始

環境要求

  • Node.js 18+
  • pnpm 8+

安裝步驟

  1. 克隆專案
git clone <repository-url>
cd ai-showcase-platform
  1. 安裝依賴
pnpm install
  1. 環境配置
# 複製環境變數範例
cp .env.example .env.local

# 編輯環境變數
# 設定 DeepSeek API 金鑰
NEXT_PUBLIC_DEEPSEEK_API_KEY=your_deepseek_api_key_here
NEXT_PUBLIC_DEEPSEEK_API_URL=https://api.deepseek.com/v1/chat/completions
  1. 啟動開發服務器
pnpm dev
  1. 開啟瀏覽器
http://localhost:3000

🔧 環境配置

DeepSeek API 設定

  1. 取得 API 金鑰

    • 前往 DeepSeek 官網
    • 註冊或登入帳號
    • 在控制台中生成 API 金鑰
  2. 設定環境變數

# .env.local
NEXT_PUBLIC_DEEPSEEK_API_KEY=your_deepseek_api_key_here
NEXT_PUBLIC_DEEPSEEK_API_URL=https://api.deepseek.com/v1/chat/completions

📖 使用指南

一般用戶

  1. 註冊/登入: 使用企業郵箱註冊帳號
  2. 瀏覽應用: 查看AI應用展示和競賽資訊
  3. 參與互動: 收藏喜歡的應用、參與投票
  4. 查看排行榜: 瀏覽人氣排行榜和得獎作品

開發者

  1. 提交作品: 在競賽期間提交AI應用
  2. 管理作品: 編輯、更新作品資訊
  3. 查看評分: 查看評審評分和意見
  4. 參與競賽: 加入團隊或個人參賽

管理員

  1. 競賽管理: 創建、編輯、刪除競賽
  2. 評審管理: 管理評審團成員和權限
  3. 評分管理: 手動輸入評分或查看評審評分
  4. 數據分析: 查看競賽統計和用戶分析

AI助手使用

  1. 開啟對話: 點擊右下角聊天按鈕
  2. 提問: 輸入問題或選擇快速問題
  3. 獲取幫助: AI助手提供系統使用指導
  4. 持續對話: 保持上下文進行深入交流

🏗 開發指南

新增組件

# 在 components 目錄下創建新組件
touch components/MyComponent.tsx

新增頁面

# 在 app 目錄下創建新頁面
mkdir app/my-page
touch app/my-page/page.tsx

狀態管理

// 使用 Context Hook
import { useAuth } from "@/contexts/auth-context"
import { useCompetition } from "@/contexts/competition-context"

const { user, login, logout } = useAuth()
const { competitions, addCompetition } = useCompetition()

樣式開發

// 使用 Tailwind CSS
<div className="bg-white rounded-lg shadow-md p-6">
  <h2 className="text-2xl font-bold text-gray-900">標題</h2>
</div>

📊 數據模型

用戶模型

interface User {
  id: string
  name: string
  email: string
  avatar?: string
  department: string
  role: "user" | "developer" | "admin"
  joinDate: string
  favoriteApps: string[]
  recentApps: string[]
  totalLikes: number
  totalViews: number
}

競賽模型

interface Competition {
  id: string
  name: string
  year: number
  month: number
  startDate: string
  endDate: string
  status: "upcoming" | "active" | "judging" | "completed"
  description: string
  type: "individual" | "team" | "mixed"
  judges: string[]
  participatingApps: string[]
  participatingTeams: string[]
  rules: CompetitionRule[]
  awardTypes: CompetitionAwardType[]
  evaluationFocus: string
  maxTeamSize?: number
}

評審模型

interface Judge {
  id: string
  name: string
  title: string
  department: string
  expertise: string[]
  avatar?: string
}

interface JudgeScore {
  judgeId: string
  appId: string
  scores: {
    innovation: number
    technical: number
    usability: number
    presentation: number
    impact: number
  }
  comments: string
  submittedAt: string
}

🚀 部署指南

開發環境

# 啟動開發服務器
pnpm dev

# 建置專案
pnpm build

# 啟動生產服務器
pnpm start

生產環境

# 使用 Vercel 部署
vercel --prod

# 或使用 Docker
docker build -t ai-showcase-platform .
docker run -p 3000:3000 ai-showcase-platform

🔒 安全考量

  • API密鑰安全: 環境變數存儲敏感資訊
  • 用戶權限: 完整的角色權限控制
  • 數據驗證: 使用 Zod 進行表單驗證
  • XSS防護: 輸入內容安全處理

📈 性能優化

  • 圖片優化: Next.js 內建圖片優化
  • 代碼分割: 自動代碼分割和懶加載
  • 快取策略: 靜態資源快取
  • CDN加速: 靜態資源CDN分發

🤝 貢獻指南

  1. Fork 專案
  2. 創建功能分支: git checkout -b feature/AmazingFeature
  3. 提交變更: git commit -m 'Add some AmazingFeature'
  4. 推送到分支: git push origin feature/AmazingFeature
  5. 開啟 Pull Request

📝 更新日誌

v1.0.0 (2025-01)

  • 初始版本發布
  • 🏆 完整的競賽管理系統
  • 🤖 AI智能助手整合
  • 📊 管理員後台功能
  • 👥 用戶權限管理

📄 授權條款

本專案採用 MIT 授權條款 - 詳見 LICENSE 檔案

📞 聯絡資訊

  • 專案負責人: 強茂集團應用系統部
  • 技術支援: 請透過企業內部管道聯繫
  • 問題回報: 請在企業內部系統提交問題

🙏 致謝


強茂集團 AI 展示平台 - 促進AI技術創新與應用 🚀

Description
No description provided
Readme 1.4 MiB
Languages
TypeScript 98.1%
JavaScript 1.8%
CSS 0.1%