Skip to content

SomaCruz0/YGO-Tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YGO-Tool

Ứng dụng web tra cứu thông tin thẻ bài Yu-Gi-Oh! từ nhiều nguồn khác nhau, tự động phát hiện độ hiếm và xuất file Excel.

🎯 Mục đích (dành cho seller Shopee)

YGO-Tool được thiết kế để giúp seller Shopee mảng Yu-Gi-Oh! đăng sản phẩm nhanh chóng:

  • Nhập hàng loạt mã thẻ/print code (có thể nhập nhiều mã, phân cách bằng dấu phẩy)
  • Hệ thống tự tra cứu, chuẩn hóa dữ liệu (tên, set, rarity, giá, hình ảnh)
  • Xuất ra 1 file Excel theo cấu trúc phù hợp để import hàng loạt lên Shopee

Quy trình nhanh:

  1. Chọn tab phù hợp (AE hoặc TCG)
  2. Dán danh sách mã (ví dụ: ALIN-AE002, DUAD-AE001 hoặc MP25-EN021, MP25-EN025)
  3. Bấm Search → kiểm tra bảng kết quả (có thể xóa dòng riêng lẻ nếu cần)
  4. Bấm “Export Excel” → tải file và import vào Shopee theo chức năng đăng hàng loạt

✨ Tính năng chính

🔍 Tra cứu thẻ bài

  • Hỗ trợ 2 tab riêng biệt:
    • AE Cards: Tra cứu thẻ AE qua TCG Corner API
    • TCG Cards: Tra cứu thẻ TCG qua JustTCG API
  • Tự động chuyển đổi API: Dựa trên mã thẻ (AE vs TCG)
  • Hỗ trợ nhiều mã: Có thể nhập nhiều mã thẻ cùng lúc, phân cách bằng dấu phẩy
  • Tự động chuẩn hóa: Xử lý các ký tự đặc biệt và định dạng mã in

🎨 Phát hiện độ hiếm tự động

  • Phân tích tự động: Trích xuất độ hiếm từ tên thẻ trong ngoặc đơn ()
  • Bản đồ độ hiếm đầy đủ: Hỗ trợ tất cả các loại độ hiếm chính:
    • N → Common
    • R → Rare
    • SR → Super Rare
    • UR → Ultra Rare
    • SER → Secret Rare
    • CR → Collector Rare
    • PSER → Prismatic Secret Rare
    • UL → Ultimate Rare
    • P-N → Normal Parallel
    • QCSR → Quarter Century Secret Rare

📊 Hiển thị dữ liệu phong phú

  • Thông tin chi tiết: Hiển thị tên sản phẩm, mô tả, hình ảnh và giá
  • Hỗ trợ đa tiền tệ:
    • TCG Corner: VND (Việt Nam Đồng)
    • JustTCG: USD (Đô la Mỹ)
  • Hình ảnh thẻ: Hiển thị hình ảnh thẻ từ các nguồn khác nhau
  • Xử lý lỗi thông minh: Hiển thị lỗi một cách rõ ràng khi tra cứu thất bại

📈 Xuất Excel nâng cao

  • Xuất một click: Xuất tất cả kết quả ra file Excel
  • Dữ liệu có cấu trúc: Bao gồm tất cả thông tin thẻ bài được định dạng
  • Tự động đặt tên: File được đặt tên theo ngày hiện tại
  • Định dạng chuyên nghiệp: Cột rộng phù hợp, dữ liệu được sắp xếp rõ ràng

Lưu ý cho Shopee:

  • Khi 1 mã chỉ có 1 rarity, cột “Tên nhóm phân loại hàng 1”, “Tên phân loại hàng cho nhóm phân loại hàng 1” và “Hình ảnh mỗi phân loại” sẽ để trống để đơn giản form đăng.
  • Với nhiều rarity cho cùng set code, công cụ sẽ nhóm theo mã và hiển thị phân loại “Rarity” cùng ảnh từng phân loại để import dạng biến thể.

💰 Tính năng giá cả

  • Cập nhật giá hàng loạt: Thêm/sửa giá cho nhiều thẻ cùng lúc (AE Cards)
  • Chuyển đổi tỷ giá: Tự động chuyển đổi USD sang VND (TCG Cards)
  • Tỷ giá tùy chỉnh: Có thể điều chỉnh tỷ giá chuyển đổi

🛠️ Công nghệ sử dụng

Frontend

  • React 18 với functional components và hooks
  • Vite cho phát triển và build nhanh chóng
  • XLSX library cho chức năng xuất Excel
  • CSS cho styling hiện đại

Backend

  • Node.js với Express.js
  • CORS được bật cho cross-origin requests
  • Fetch API cho các API calls bên ngoài
  • dotenv cho quản lý environment variables

📦 Cài đặt

Yêu cầu hệ thống

  • Node.js (v14 trở lên)
  • npm hoặc yarn

Hướng dẫn cài đặt

  1. Clone repository

    git clone <repository-url>
    cd YGO-Tool
  2. Cài đặt dependencies cho server

    cd server
    npm install
  3. Cài đặt dependencies cho client

    cd ../client
    npm install
  4. Tạo file .env cho server (tùy chọn)

    cd ../server
    echo "JUSTTCG_KEY=your_api_key_here" > .env
    echo "PORT=3001" >> .env

🚀 Sử dụng

Chế độ phát triển

  1. Khởi động server

    cd server
    npm run dev

    Server sẽ chạy tại http://localhost:3001

  2. Khởi động client

    cd client
    npm run dev

    Client sẽ chạy tại http://localhost:5173

Chế độ production

  1. Build client

    cd client
    npm run build
  2. Khởi động server

    cd server
    npm start

🔌 API Endpoints

GET /api/health

Kiểm tra trạng thái server

GET /api/cardsetsinfo?setcode=<codes>

Endpoint tra cứu thẻ chính

  • Parameters: setcode - danh sách mã thẻ phân cách bằng dấu phẩy
  • Response: Thông tin thẻ từ nguồn API phù hợp

GET /api/printcode/resolve?code=<code>

Giải quyết mã in thành tên thẻ

  • Parameters: code - mã in thẻ (ví dụ: MP25-EN021)
  • Response: ID và tên thẻ từ YGOResources

GET /api/justtcg/cards?name=<name>

Tra cứu thẻ qua JustTCG API

  • Parameters: name - tên thẻ
  • Response: Kết quả tìm kiếm từ JustTCG

GET /api/tcg/search?q=<query>

Tra cứu trực tiếp qua TCG Corner

  • Parameters: q - từ khóa tìm kiếm
  • Response: Kết quả tìm kiếm từ TCG Corner

📝 Ví dụ sử dụng

Thẻ AE (TCG Corner)

Input: ALIN-AE002, DUAD-AE001
Kết quả: Sử dụng TCG Corner API, hiển thị giá VND, hỗ trợ nhiều độ hiếm

Thẻ TCG (JustTCG)

Input: MP25-EN021, MP25-EN025
Kết quả: Sử dụng JustTCG API, hiển thị giá USD, có thể chuyển đổi sang VND

Tìm kiếm hỗn hợp

Input: ALIN-AE002, MP25-EN021
Kết quả: Thẻ AE từ TCG Corner, thẻ TCG từ JustTCG

🔧 Chi tiết kỹ thuật

Tự động chọn API

Ứng dụng tự động xác định API nào sử dụng dựa trên định dạng mã thẻ:

  • Thẻ có pattern XXX-AE### → TCG Corner API
  • Thẻ có pattern XXX-EN### → JustTCG API (qua YGOResources)

Xử lý độ hiếm

Khi tìm thấy nhiều độ hiếm cho cùng một thẻ (ví dụ: "Blue-Eyes White Dragon (UR)" và "Blue-Eyes White Dragon (SR)"), ứng dụng:

  1. Nhóm chúng theo tên thẻ cơ bản
  2. Tạo các hàng riêng biệt cho mỗi độ hiếm
  3. Hiển thị tên độ hiếm phù hợp

Xuất Excel

Chức năng xuất tạo file Excel toàn diện với:

  • Đánh số thứ tự
  • Tên sản phẩm
  • Mô tả chi tiết
  • URL hình ảnh
  • Giá với đơn vị tiền tệ đúng
  • Định dạng cột chuyên nghiệp

🤝 Đóng góp

  1. Fork repository
  2. Tạo feature branch
  3. Thực hiện thay đổi
  4. Test kỹ lưỡng
  5. Submit pull request

📄 License

Dự án này được cấp phép dưới ISC License.

🆘 Hỗ trợ

Để báo lỗi và đặt câu hỏi, vui lòng tạo issue trong repository.


Lưu ý: Để sử dụng đầy đủ tính năng JustTCG, bạn cần có API key và cấu hình trong file .env của server.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors