Genshin Impact

Về dự án

Genshin Ban/Pick là công cụ chuyên dụng cho cộng đồng tổ chức giải đấu La Hoàn Cảnh Giới. Hệ thống tự động hoá toàn bộ quy trình cấm/chọn nhân vật, tính điểm trang bị (Cost) và bù trừ thời gian (Handicap) thay cho phương pháp thủ công bằng Excel hoặc tin nhắn.

Mục tiêu

  • Cung cấp một sân chơi trực quan, real-time cho các giải đấu cộng đồng Genshin Impact.
  • Chuẩn hoá quy trình Ban/Pick chuyên nghiệp theo chuẩn eSports với 4 phase, 22 lượt.
  • Tự động hoá tính toán Cost & Handicap chính xác đến từng giây.
  • Hỗ trợ đầy đủ ba vai trò: Trọng tài, Tuyển thủ và Khán giả.

Công nghệ sử dụng

Frontend

Next.js 15 (App Router) · TypeScript · Tailwind CSS

State

Zustand

Database

Supabase Database

Real-time

Supabase Realtime (WebSockets)

Auth

Supabase Auth (SSR)

Data

Enka.Network · Genshin.dev

Kiến trúc

Dự án sử dụng layered architecture trong Next.js runtime để tách biệt rạch ròi giữa logic nghiệp vụ và phụ thuộc bên ngoài (Supabase, HTTP):

Presentationsrc/app, src/components — Render UI, parse request
Applicationsrc/application — Service classes, use cases
Domainsrc/domain — Pure business rules (DraftPolicy, CostPolicy)
Infrastructuresrc/infrastructure — Supabase + HTTP gateway adapters
Compositionsrc/composition — Wires adapters into services

Roadmap

  1. DONECore Ban/Pick 22 lượt + Cost + Handicap + Real-time
  2. DONELobby + Auth + Live Chat + Export image
  3. NOWCharacter database, Leaderboard, Cost Calculator standalone
  4. NEXTTournament suite (bracket, Bo3/Bo5, Fearless), OBS overlay
  5. LATERAchievement, Friends, Discord webhook, i18n