FTU Schedule Sync
Chromium extension that fetches FTU class schedule to make life a bit easier
not yet reviewed by publik

How to install FTU Schedule Sync
Every step written out, for people who have never opened a terminal. Pick the setup you have.
README
Open in GitHubEN - FTU Schedule Sync
A completely free, client-side browser extension to synchronize FTU class schedules with Google Calendar without relying on third-party servers.
Features
- Direct API Sync: Connects directly to
qldt.hcmc.ftu.edu.vnto fetch the schedule. No intermediaries. - Universal OAuth2: Uses standard
launchWebAuthFlowto support Edge, Brave, and other Chromium forks. - Auto-Login: Gracefully heals expired sessions by running a headless login routine in an offscreen document.
- Offline Fallback: Drag and drop
Export_TKB.xlsxto generate standard.icscalendar files. - Theme Support & Localization: English/Vietnamese toggles and Dark/Light mode support.
Development
Run tests:
npm install
npm run test:ui
VI - FTU Schedule Sync
Tiện ích mở rộng trình duyệt hoàn toàn miễn phí, xử lý phía client để đồng bộ lịch học FTU với Google Calendar mà không phụ thuộc vào bất kỳ máy chủ bên thứ ba nào.
Cài đặt
- Tải về hoặc clone repository dưới dạng tệp
.zip. - Mở trình duyệt sử dụng nhân Chromium của bạn (Chrome, Edge, Brave, v.v.).
- Điều hướng đến trang quản lý tiện ích (
chrome://extensionshoặcedge://extensions). - Bật Developer Mode (Chế độ dành cho nhà phát triển).
- Nhấp vào Load unpacked (Tải tiện ích đã giải nén) và chọn thư mục chứa dự án này (thư mục gốc nơi đặt tệp
manifest.json). - Liên hệ với chủ sở hữu dự án (chính là tôi) để tôi có thể duyệt email của bạn dưới quyền tester.
Tính năng
- Direct API Sync: Kết nối trực tiếp tới
qldt.hcmc.ftu.edu.vnđể lấy lịch học. Hoàn toàn không qua trung gian. - Universal OAuth2: Sử dụng
launchWebAuthFlowtiêu chuẩn để hỗ trợ Edge, Brave và các bản phân nhánh khác của Chromium. - Auto-Login: Tự động khôi phục mượt mà các phiên đăng nhập hết hạn bằng cách chạy quy trình đăng nhập ngầm (headless) trong offscreen document.
- Offline Fallback: Kéo và thả tệp
Export_TKB.xlsxđể xuất tệp lịch định dạng.icstiêu chuẩn. - Hỗ trợ giao diện & Đa ngôn ngữ: Chuyển đổi qua lại giữa tiếng Anh/tiếng Việt và hỗ trợ chế độ Dark/Light mode.
Phát triển
Chạy kiểm thử:
npm install
npm run test:ui