-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(programs): undergrad program requirements (#103)
## Description We scrape and serve undergraduate requirements, i.e. UC and GE requirements, which are required to earn any undergraduate degree but are not considered part of any major. * The DegreeWorks scraper now acquires this data and saves it to the new `school_requirement` table. * A new requirement type, the marker requirement, is introduced. This represents any requirement which is to be marked manually by an advisor and is not completed by coursework. **This PR conjectures that such requirements, when not complete, are labelled as "Incomplete".** Based on my own view of DegreeWorks I only observe "Complete", so this other variant is a guess. * We now systematically replace the word "satisfied" with "required", when preceded by a space, from the name of any requirement. This is because the names of some requirements, such as American History and American Institutions, change when they are completed. If not addressed, this would make scraping results dependent on the actual progress of the account we scrape from. The word "satisfied" does not currently appear in any major, minor, or specialization requirement and \*only* in newly scraped requirements. * This new marker type is a new member of the requirement type union on REST and GraphQL, comprising a **breaking change**. * The new REST endpoint `/v2/rest/programs/ugradRequirements` is created, taking an `id` which is `"UC" | "GE"`. I argue it is reasonable to enumerate the options because a violation of this assumption would be a serious overhaul to the structure of DegreeWorks. * The GraphQL resource `ugradRequirements` is created with similar interface. ## Related Issue Completes #102. ## Motivation and Context pov: PP asks you for even more features ## How Has This Been Tested? 1. The scraper was rerun to acquire the new data (if you're short on time, only scrape the new data). 2. Run the new REST and GraphQL. ## Screenshots (if appropriate): REST: ![Screenshot_20250128_211602](https://github.com/user-attachments/assets/00fa2e95-a436-4626-bc79-d21845a3a8ce) GraphQL: ![Screenshot_20250128_211541](https://github.com/user-attachments/assets/242ff133-b4f0-4ecb-a9d6-df1fcf1d6cb9) ## Types of changes - [ ] Bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) - [x] Breaking change (fix or feature that would cause existing functionality to change) ## Checklist: - [x] My code involves a change to the database schema. - [ ] My code requires a change to the documentation.
- Loading branch information
1 parent
7c223e9
commit 80550ce
Showing
14 changed files
with
3,627 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.