Skip to content

Extra Dates and Times #37

@Cwooper

Description

@Cwooper

Overview

Scrape additional academic calendar data to enrich the schedule experience.

Data Sources

Term Dates

URL: https://registrar.wwu.edu/term-dates

Dates are consistent by month, varying only a few days year-to-year:

  • Fall: ~Sept 23-25 to ~Dec 11-13
  • Winter: ~Jan 5-7 to ~Mar 19-21
  • Spring: ~Mar 30 - Apr 1 to ~Jun 11-13
  • Summer: ~Jun 22-24 to ~Aug 20-22

Option: Hardcode month ranges instead of scraping (simpler, stable enough).

Finals Schedule

URL: https://registrar.wwu.edu/calendars/finals

Contains final exam day/time based on course meeting patterns. Would allow showing students when their finals are.

Registration Dates & Holidays

URL (Drupal AJAX, messy):

https://registrar.wwu.edu/views/ajax?_wrapper_format=drupal_ajax&field_quarter_target_id=275&view_name=important_dates_and_deadlines&view_display_id=block_3&view_args=&view_path=%2Fnode%2F1172&view_base_path=tuition-fees-calendar&view_dom_id=9795569803a26bb30cbb902b86d995761889c88aac03a959857a9b6f3d41a819&pager_element=0&_drupal_ajax=1&ajax_page_state%5Btheme%5D=ashlar&ajax_page_state%5Btheme_token%5D=&ajax_page_state%5Blibraries%5D=...

Response format: [{"command": "insert", "data": "content_to_parse_as_a_string", ...}, ...]

The data field contains HTML with registration info and holidays.

Registration Schedule

URL: https://registrar.wwu.edu/calendars/registration

Registration follows consistent 8-day phases. Phase 2 is open for everyone. Could infer windows based on credit count.

Features This Enables

With all data sources:

  • Final exam day/time per course
  • Course start/end dates per term
  • Holidays (no class days)
  • Registration windows (based on credits/status)
  • .ics calendar export with all of the above

Stretch Ideas

  • Email notifications when registration opens (requires significant infra)
  • Ask user for credits/masters/post-bac status for personalized .ics

Implementation Notes

  • Consider hardcoding term months for MVP rather than scraping term dates
  • Finals schedule is straightforward to scrape
  • Drupal AJAX endpoint is messy but parseable
  • Registration windows could prompt user for credit count

Metadata

Metadata

Assignees

Labels

backendBackend related change

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions