UL Timetable Web

DjangoDRFReactTailwindCSSPostgreSQLDockerRailwayPlaywright

A web application and CLI tool for fetching and visualizing University of Limerick timetables. Scrapes the UL timetable portal and generates visual schedules, calendar exports (.ics), and a hosted web interface.

Stack: Django · Django REST Framework · React · TailwindCSS · PostgreSQL · Docker · Railway

Features

  • Scrapes timetable data from the UL timetable website
  • Display timetable in JSON or tabular format
  • Generate visual timetable as PNG images in 7 themes
  • Export timetable to iCalendar (.ics) for Google Calendar / Outlook
  • Credentials management: interactive prompt, CLI flags, env vars, or JSON file

Visual Timetable Themes

Light Theme

Light Theme Example

Dark Theme

Dark Theme Example

Blue Theme

Blue Theme Example

Sepia Theme

Sepia Theme Example

Purple Theme

Purple Theme Example

Green Theme

Green Theme Example

High Contrast Theme

High Contrast Theme Example

Run

uv sync -e .
python -m playwright install chromium

# Generate timetable in all themes
ul-timetable --image timetable.png --theme all

# Export to calendar
ul-timetable --export-calendar timetable.ics --semester-start 2025-01-20