A Chrome extension that helps FPT University students export their class schedules from FAP to Google Calendar, Apple Calendar, and other calendar applications.
- 📅 Automatic Schedule Extraction: Extracts your class schedule from FPTU FAP website
- 👀 Visual Calendar Preview: View schedule in week or list view with color-coded classes
- 📤 Export to ICS Format: Export to
.icsfile for Google Calendar, Apple Calendar, Outlook, etc. - 📝 Exam Schedule Extraction: Extracts exam schedules from FPTU FAP and includes them in the exported
.icsfile. - 🌐 Online/Offline Support: Distinguishes between online and offline classes
- 🔗 Quick Access Links: Direct links to Google Meet, course materials (FLM), and EduNext
- ✏️ Edit Classes: Modify class details directly in the calendar view
- 🔔 Smart Reminders: Automatic reminders in exported calendar (15 min for online, 30 min for first offline class)
- Clone or download this repository
- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode" (top-right toggle)
- Click "Load unpacked" and select the extension folder
- The extension icon will appear in your Chrome toolbar
- Log in to FAP: Navigate to FPTU FAP and log in with your student credentials
- Open Extension: Click the FPTU Study Calendar icon in your Chrome toolbar
- Set Date Range: Select start and end dates (end date auto-adjusts to 3 months ahead)
- Extract Schedule: Click the extraction button and wait for extraction to complete
- Extract Exam Schedule (optional): Click the extract exams button in the popup to fetch exam schedules from the FAP exam page.
- Preview: Click the preview result button to view your schedule in week or list view
- Export: Click the export button to download the calendar file, then import it into Google Calendar, Apple Calendar, or Outlook
FPTU.Study.Calendar.Demo.mp4
Click the three-dots icon (⋮) in the extension popup to access:
- Theme: System, Light, or Dark
- Wait Time: Delay between page loads (default: 3000ms). Increase if you experience timeout errors.
- Requires login to FAP before extraction
- Extraction time depends on date range
- Data stored locally (no external servers)
- If extraction fails, increase wait time in settings
manifest.json- Chrome Extension v3 manifestbackground.js- Service worker for scraping workflowcontent.js- Content script for extracting data from FAP pagespopup.html/js- Extension popup UI and logiccalendar.html/js- Calendar preview pageics-export.js- ICS file generation utilities_locales/vi/messages.json- Vietnamese localization
- Clone repository and load in Chrome (
chrome://extensions/with Developer mode enabled) - Debug: Background script via Service Worker inspector, content script via FAP page DevTools, popup via right-click → Inspect
- Key files to modify:
content.js:extractScheduleData()functionbackground.js: Navigation and week iteration logiccalendar.js: View rendering and featuresics-export.js: Event generation
Contributions are welcome! 🎉 Feel free to submit a pull request or open an issue with suggestions or improvements.
Special thanks to @minhqnd for the valuable feedback that inspired the Fast Mode feature!
This extension is not officially affiliated with FPT University. It is a community project for students.
