Plan, filter, and optimize class schedules with an Astro-powered experience.
CITU Course Builder is a web application that helps students at Cebu Institute of Technology - University (and compatible institutions) create conflict-free schedules with smart imports, filters, and exports.
Version 2.0 completes the migration to Astro with React islands and TypeScript, delivering faster loads, smaller bundles, and a cleaner architecture while preserving the familiar scheduling workflow.
- Smart data import for WITS and AIMS formats.
- Flexible filtering by day, time, section type, and status.
- Course locking with immediate conflict feedback.
- Multiple schedule generation strategies (recommended, full coverage, quick).
- Visual timetable plus export to TXT, PNG, PDF, and iCalendar.
- Theme presets with light/dark modes and palette persistence.
- Astro with React islands for selective hydration
- React for interactive UI components
- TypeScript for type-safe development
- Tailwind CSS for styling
- Bun for tooling and scripts
- Vitest and Playwright for testing
- Bun (recommended) or Node.js 18+
- Clone the repository:
git clone https://github.com/MasuRii/CITUCourseBuilder.git
- Install dependencies:
bun install
- Start the development server:
bun run dev
- Open the app at
http://localhost:4321/CITUCourseBuilder/. - Import course data, apply filters, lock required sections, and generate a schedule.
- Export results to TXT, PNG, PDF, or iCalendar as needed.
Contributions are welcome. Please open an issue or submit a pull request with a clear description of your changes.
Distributed under the MIT License. See LICENSE for details.
GitHub: MasuRii
