Desktop app quản lý thư viện game Nintendo Switch — dữ liệu tự động đồng bộ từ GitHub, có cache offline.
Được xây dựng bằng Tauri + SvelteKit + Rust.
- Xem danh sách game với thumbnail, thể loại, kích thước và links tải
- Tìm kiếm, lọc, ẩn/hiện game, đánh dấu game mới
- Xem review YouTube trực tiếp trong app
- Cache dữ liệu và ảnh cục bộ, hoạt động offline
Danh sách toàn bộ 632 game với thumbnail, thể loại và links tải
Lọc theo Việt Hóa và xem chi tiết links tải của từng game
Kết hợp nhiều bộ lọc: thể loại Kinh dị + Việt Hóa
Dữ liệu game lấy từ repo: uongsuadaubung/switch-games-data
data/version.json — hash phiên bản hiện tại
data/games.json — danh sách toàn bộ game
| Công cụ | Phiên bản |
|---|---|
| Node.js | ≥ 18 |
| Rust | stable |
| Tauri CLI | v2 |
Windows: Cần cài thêm Microsoft C++ Build Tools hoặc Visual Studio với workload "Desktop development with C++".
# Cài dependencies
npm install
# Chạy dev mode (hot-reload)
npm run tauri dev
# Build production
npm run tauri build
# → file .exe xuất hiện tại src-tauri/target/release/switch_games/
├── src/ # SvelteKit frontend
│ ├── lib/
│ │ ├── components/ # UI components (GameTable, FilterBar, LinksPanel, ...)
│ │ ├── stores/ # gameStore.svelte.ts — toàn bộ state & logic
│ │ ├── imageCache.ts # Cache ảnh 2 lớp (memory + disk)
│ │ └── types.ts # TypeScript interfaces
│ └── routes/
│ └── +page.svelte # Entry point
├── src-tauri/ # Tauri backend (Rust)
│ ├── src/
│ │ ├── commands.rs # Tauri commands: cache đọc/ghi, mở URL, nén ảnh
│ │ └── lib.rs
│ └── tauri.conf.json
└── static/ # Assets tĩnh
Vì app chưa có chứng chỉ ký số, Windows sẽ hiện cảnh báo khi mở lần đầu. Đây là bình thường — chỉ cần bỏ qua:
Bước 1: Click "More info"
Bước 2: Click "Run anyway"


