A web app that allows UTAR students to convert their timetable from the UTAR portal into Google Calendar with customisable options like renaming courses and toggling event details.
Access the web app here: https://timetable.lambdas.me/
📌 Disclaimer:
This project is an independent, unofficial tool and is not affiliated with, or endorsed by UTAR.
Desktop browsers only. Mobile and tablet devices are not supported.
Simply open the app via the live link above and follow the on-screen guidance to:
- Import your UTAR timetable
- Customize course names and event details
- Export your timetable to Google Calendar or CSV
- React + Vite
- Bootstrap 5
src/
├─ App.jsx # Main app component
├─ index.css # Global styles
├─ main.jsx # App entry point
│
├─ assets/ # Static files (images, gifs etc.)
│
├─ components/
│ ├─ common/ # Reusable common components
│ │
│ └─ timetable/ # Timetable components, each sections' entry point have 'Main' in their file names
│ ├─ HomeScreen.jsx # Main timetable page
│ ├─ editor/ # Timetable editor components screen
│ ├─ export/ # Components for exporting timetable screen
│ └─ parse/ # Components for parsing timetable input screen
│
└─ logic/ # Core application logic / helpers
├─ enrichTimetableData.js # Adds extra data to timetable
├─ exportTimetableData.js # Exports timetable in different formats
└─ parseTimetableHTML.js # Parses HTML input into timetable data
- Rewrite codebase in React
- Implement an easier version of retrieving user HTML
- Ability to export to other Calendar apps (eg. Apple Calendar)
- Add even more customisation options
Contributions are welcome! If you are a UTAR student and want to help improve UTAR Timetable Maker, follow the steps below to set up the project and start contributing:
Ensure that you have installed:
- NodeJS
- npm
- Fork the repository to your account then clone it locally.
git clone https://github.com/<your-username>/timetableUTAR.git
cd timetableUTAR- Install dependencies:
npm install
- Create a new branch for your work:
git switch -c your-branch-name
- Start the development server with hot-reload:
npm run dev
- Commit and push your changes, then open a pull request:
git commit -m "Describe your changes"
git push origin your-branch-name