Skip to content

This Chrome Extension improves the course registration experience at UT Austin by presenting more information to students on the Course Catalog! 60,000+ peak Users!

License

Notifications You must be signed in to change notification settings

seansy12232003/UT-Registration-Plus

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UT Registration Plus

UTRP Social Preview

Chrome Web Store Downloads License

UT Registration Plus (UTRP) streamlines the process of registering for classes at UT Austin by reducing the chaos of juggling multiple tabs like Rate My Professor, Google Sheets, and the UT Course Schedule. With UTRP, you can simplify class selection and schedule management. We've all been there. 20 tabs of Rate My Professor, Google Spreadsheet, and the UT Course Schedule open and you still don't know what classes to take.

Demo

UTRP v2 Demo

Features

  • Quick Access to Class Info: For each class in the UT Course Schedule, UTRP provides a "breakdown" popup with direct links to RateMyProfessor, Course Evaluation Surveys (CES), and past syllabi.
  • Prerequisite & Restriction Highlights: Displays course descriptions with highlighted details on prerequisites, restrictions, and other important info.
  • Grade Distribution Graphs: View an aggregate and semester-specific graph of grade distributions for each course.
  • Saved Courses List: Easily add courses to a list and view them in the extension popup. Copy unique numbers with a single click.
  • Conflict Detection: Automatically highlights and strikes out courses that conflict with your saved courses in the UT Course Catalog.
  • Weekly Schedule View: Displays your saved courses in a weekly schedule format for easier planning.
  • Multiple Schedule Support: Create multiple schedules to plan for different registration scenarios.
  • And much more!

Toolchain

  • React v20.9.0 (LTS)
  • TypeScript
  • Vite 5
  • UnoCSS
  • ESLint
  • Prettier
  • Storybook
  • Figma
  • Semantic-Release
  • Custom Messaging & Storage Wrappers

VSCode Extensions

We recommend using the following VSCode extensions to improve your development experience:

Contributing

Contributions are welcome and encouraged! To get started:

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature/your-feature.
  3. Make changes and ensure your code passes linting and formatting checks: pnpm run lint and pnpm run prettier.
  4. Commit your changes following the Conventional Commits specification.
  5. Push your branch: git push origin feature/your-feature.
  6. Open a Pull Request.

For significant changes, it’s recommended to open an issue first to discuss the proposed updates.

Development: Getting Started

  1. Clone this repository: git clone https://github.com/Longhorn-Developers/UT-Registration-Plus.git
  2. Node Version: This project requires the Node.js version specified in .nvmrc. Use nvm to install and manage the correct version:
    nvm install
    nvm use
    Note: Installing the wrong Node version can lead to errors during setup.
  3. Install dependencies using pnpm (which manages and patches dependencies):
    pnpm install

Once set up, the extension can be built to the dist/ directory using the following methods:

Development Builds

  • Run the development server:
    pnpm dev

Note: Injected content on UT pages may not display correctly in development mode. To develop with accurate styles, use the following command:

NODE_ENV='development' pnpm run dev build --mode development -w

Production Builds

  • To generate production builds:
    pnpm build
Beta Builds

Use BETA=true pnpm build to generate a beta build.

Loading the Extension Manually

To load the extension manually in Chrome:

  1. Open chrome://extensions.
  2. Enable 'Developer Mode'.
  3. Click 'Load unpacked'.
  4. Navigate to the dist/ directory and select it.

Bug Reporting

If you encounter bugs or issues, please report them in the Issues section, including:

  • A clear, descriptive title
  • Steps to reproduce the issue
  • Expected behavior
  • Screenshots or logs (if applicable)

We aim to address issues promptly.

Conventional Commits & Branch Naming Convention

We follow the Conventional Commits specification for commit messages. This ensures a consistent commit history and enables automated versioning and changelog generation.

Commit Messages

Follow this structure for commit messages:

<type>(<scope>): <subject>

Where:

  • type: One of the following:
    • feat: A new feature
    • fix: A bug fix
    • docs: Documentation updates
    • style: Code formatting changes (whitespace, semicolons, etc.)
    • refactor: Code restructuring (without adding features or fixing bugs)
    • test: Adding or modifying tests
    • chore: Maintenance tasks or build process changes

Example:

feat(auth): add login functionality
fix(ui): align buttons in navbar

Branch Naming

Branch names should follow the format:

<type>/<short-description>

Examples:

  • feat/user-login
  • fix/navbar-layout
  • docs/update-readme

License

This project is licensed under the MIT License. See the LICENSE for more details.

Code of Conduct

We maintain a strict code of conduct. By contributing, you agree to adhere to the rules outlined in CODE_OF_CONDUCT.md.

Acknowledgements

Special thanks to the developers and contributors behind these amazing tools and libraries:

About

This Chrome Extension improves the course registration experience at UT Austin by presenting more information to students on the Course Catalog! 60,000+ peak Users!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 94.9%
  • JavaScript 2.0%
  • CSS 1.4%
  • SCSS 1.1%
  • HTML 0.6%