Files
banner/docs/FEATURES.md

2.0 KiB

Features

Current Features

Discord Bot Commands

  • search - Search for courses with various filters (title, course code, keywords)
  • terms - List available terms or search for a specific term
  • time - Get meeting times for a specific course (CRN)
  • ics - Generate ICS calendar file for a course with holiday exclusions
  • gcal - Generate Google Calendar link for a course

Data Pipeline

  • Intelligent scraping system with priority queues
  • Rate limiting and burst handling
  • Background data synchronization

Feature Wishlist

Commands

  • ICS Download (get a ICS download of your classes with location & timing perfectly - set for every class you're in)
  • Classes Now (find classes happening)
  • Autocomplete
    • Class Title
    • Course Number
    • Term/Part of Term
    • Professor
    • Attribute
  • Component Pagination
  • RateMyProfessor Integration (Linked/Embedded)
  • Smart term selection (i.e. Summer 2024 will be selected automatically when opened)
  • Rate Limiting (bursting with global/user limits)
  • DMs Integration (allow usage of the bot in DMs)
  • Class Change Notifications (get notified when details about a class change)
  • Multi-term Querying (currently the backend for searching is kinda weird)
  • Full Autocomplete for Every Search Option
  • Metrics, Log Query, Privileged Error Feedback
  • Search for Classes
    • Major, Professor, Location, Name, Time of Day
  • Subscribe to Classes
    • Availability (seat, pre-seat)
    • Waitlist Movement
    • Detail Changes (meta, time, location, seats, professor)
      • time Start, End, Days of Week
      • seats Any change in seat/waitlist data
      • meta
  • Lookup via Course Reference Number (CRN)
  • Smart Time of Day Handling
    • "2 PM" -> Start within 2:00 PM to 2:59 PM
    • "2-3 PM" -> Start within 2:00 PM to 3:59 PM
    • "ends by 2 PM" -> Ends within 12:00 AM to 2:00 PM
    • "after 2 PM" -> Start within 2:01 PM to 11:59 PM
    • "before 2 PM" -> Ends within 12:00 AM to 1:59 PM
  • Get By Section Command
    • CS 4393 001 =>
    • Will require SQL to be able to search for a class by its section number