Go to file
andrew.ng ea63161e3a first commit 2026-06-17 07:40:40 +07:00
README.md first commit 2026-06-17 07:40:40 +07:00
app.js first commit 2026-06-17 07:40:40 +07:00
config.js first commit 2026-06-17 07:40:40 +07:00
index.html first commit 2026-06-17 07:40:40 +07:00
styles.css first commit 2026-06-17 07:40:40 +07:00

README.md

eBay Listing — Google Sheet Loader

Web app tĩnh (HTML/CSS/JS thuần, không cần build) để:

  1. Nhập link Google Sheet và bấm Load.
  2. Đọc tab chứa danh sách sản phẩm (các cột: Model, Condition, Title, Giá AUD, Giá USD, Package Contain (Racks)).
  3. Hiển thị danh sách có scrollsearch.
  4. Mỗi dòng có 2 nút AU / US — bấm để gọi API sang hệ thống của bạn.
  5. Tất cả thao tác load và gọi API đều có hiệu ứng disable + loading (spinner).

Cấu trúc

File Vai trò
index.html Bố cục giao diện
styles.css Style, spinner, trạng thái disable/loading
config.js Cấu hình của bạn: API_BASE, endpoint AU/US, header, map cột
app.js Logic: parse link → tải CSV → parse → render → search → call API

Cách chạy

Vì app gọi fetch, nên chạy qua HTTP (không mở trực tiếp file://):

cd /home/andrew/listing_ebay
python3 -m http.server 8000

Mở http://localhost:8000

Chuẩn bị Google Sheet

Sheet phải được share công khai (Anyone with the link → Viewer) để đọc được qua endpoint CSV gviz. Dán link đầy đủ (có /spreadsheets/d/...) hoặc Spreadsheet ID.

  • Nếu danh sách nằm ở tab khác tab đầu tiên: nhập Tên tab vào ô nhỏ, hoặc dán link có sẵn #gid=....
  • App tự dò dòng tiêu đề trong 15 dòng đầu (sheet có thể có thông tin phía trên).

Tuỳ chỉnh

Mở config.js:

  • API_BASE + ENDPOINTS.AU/US: trỏ tới backend của bạn. Request là POST với body JSON (xem buildPayload trong app.js).
  • HEADERS: thêm token nếu cần.
  • COLUMN_MAP: nếu tên cột trong sheet khác, thêm alias tại đây.

Lưu ý: nếu backend khác domain, hãy bật CORS ở phía server đó.