Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spring 2023 Pre-Enroll Release #821

Merged
merged 36 commits into from
May 3, 2023
Merged

Spring 2023 Pre-Enroll Release #821

merged 36 commits into from
May 3, 2023

Conversation

noschiff
Copy link
Member

@noschiff noschiff commented Apr 26, 2023

Summary

This release features substantial improvement to our requirements and course infrastructure and data.

Changes

Front & Back End

Requirements

More

Test Plan

Confirm everything works as expected on all pages of CoursePlan site, especially components that use course data, with no console errors.

Notes

Do not squash and merge.

benjamin-shen and others added 30 commits November 16, 2022 22:34
Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](json5/json5@v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [qs](https://github.com/ljharb/qs) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/ljharb/qs/releases)
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](ljharb/qs@v6.5.2...v6.5.3)

---
updated-dependencies:
- dependency-name: qs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](SamVerschueren/decode-uri-component@v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 2.6.14 to 2.9.13.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v2.9.13/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [jsonwebtoken](https://github.com/auth0/node-jsonwebtoken) to 9.0.0 and updates ancestor dependency [firebase-admin](https://github.com/firebase/firebase-admin-node). These dependencies need to be updated together.


Updates `jsonwebtoken` from 8.5.1 to 9.0.0
- [Release notes](https://github.com/auth0/node-jsonwebtoken/releases)
- [Changelog](https://github.com/auth0/node-jsonwebtoken/blob/master/CHANGELOG.md)
- [Commits](auth0/node-jsonwebtoken@v8.5.1...v9.0.0)

Updates `firebase-admin` from 11.0.1 to 11.5.0
- [Release notes](https://github.com/firebase/firebase-admin-node/releases)
- [Commits](firebase/firebase-admin-node@v11.0.1...v11.5.0)

---
updated-dependencies:
- dependency-name: jsonwebtoken
  dependency-type: indirect
- dependency-name: firebase-admin
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [minimatch](https://github.com/isaacs/minimatch) to 3.1.2 and updates ancestor dependency [serve](https://github.com/vercel/serve). These dependencies need to be updated together.


Updates `minimatch` from 3.0.4 to 3.1.2
- [Release notes](https://github.com/isaacs/minimatch/releases)
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](isaacs/minimatch@v3.0.4...v3.1.2)

Updates `serve` from 12.0.1 to 14.1.2
- [Release notes](https://github.com/vercel/serve/releases)
- [Commits](vercel/serve@12.0.1...14.1.2)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-type: indirect
- dependency-name: serve
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@sideway/formula](https://github.com/sideway/formula) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/sideway/formula/releases)
- [Commits](hapijs/formula@v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: "@sideway/formula"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Added AEM Minor

* Added AEM Minor

* Fixed formatting and type checking

* Updated requirements json and ran tests

* Changed name to Applied Econonmics

* Updated test snapshot
* creates eas minor requirements

* Update decorated-requirements.json

* Update requirement-data-id.test.ts.snap

* Update earth-atmo.ts

* Update decorated-requirements.json

* Update earth-atmo.ts

* Update decorated-requirements.json
* Update README.md

* Update README.md
Add Elizabeth Tang as Developer

Co-authored-by: KaylinChan <116850705+KaylinChan@users.noreply.github.com>
* Update Spring 2023 Contributors in README.md

* add Nooroo to SP23 contributors
* Added Game Design Minor

- Online list is an "includes but not limited to" list so unable to
  comprehensively validate the 4 additional courses requirement
- Unable to check for MUSIC requirements under the 4 additional courses
  requirement because too many to exclude (only non-performance music classes count)

* Added game design minor

* Update requirements and rename files

- Renamed file from gamedesign.ts to game-design.ts
- Replaced all instances of gamedesign with gameDesign
- Cleaned up the 4 additional courses requirement, factored out course
  codes into a const outside of the function for readability
* first iteration of college codes

* ran req-gen and deleted console.log

* restored applied econ

* used string interpolation

* fixed some bugs

* Revert "ran req-gen and deleted console.log"

This reverts commit 407d504.

* ran corrected req-gen

* fixed prettier check

* Revert "ran corrected req-gen"

This reverts commit 1dd2374.

* made abbrev readonly and optional

* ran updated req-gen

* implemented new codes for export pdf

* Update src/requirements/requirement-json-generator.ts

Co-authored-by: zachary0kent <73757337+zachary0kent@users.noreply.github.com>

* standardize abbreviations

* fix typo in index file

---------

Co-authored-by: zachary0kent <73757337+zachary0kent@users.noreply.github.com>
Co-authored-by: Noah Schiff <47431797+noschiff@users.noreply.github.com>
* Add migration script

* Update semesters-singleton-list-migration.ts

* Start migration script

* Write to plans whenever write to semester

* Update semesters-singleton-list-migration.ts

* write to plans when writing to semester

* Change .semesters to getFirstPlan

* Update src/requirements/admin/semesters-singleton-list-migration.ts

* Update src/utilities.ts

* Updated type annotations

* Update plans array when semesters changed

* Refactor getFirstPlan

---------

Co-authored-by: zachary0kent <73757337+zachary0kent@users.noreply.github.com>
Co-authored-by: Zak Kent <zak33@cornell.edu>
* Added data science minor
- Data science is a new minor this semester -- not all necessary information is readily available online.
- Unable to check for overlap with major courses + inconvenient behavior occurs if checkerWarning is used => opted to just include restriction in the description.
- Unable to check for introductory programming in major => included checkerWarning.

* Push ds.ts

- Push ds.ts file not included with previous commit.

* Update requirements json

* Allow double counting for core computing requirement

* Remove double counting
- Double counting not applicable here.

* Update requirements json
* Fix requirements for DBME minor

* Update requirements json
* Script Design

* implemented courses fetching

* Implemented Script

* Add appropriate documentation to script

* Update package-lock.json

* Fixed type annotation for retrieveAvailableCourses

Co-authored-by: zachary0kent <73757337+zachary0kent@users.noreply.github.com>

* Fixed type annotation for retrieveAvailableSubjects

Co-authored-by: zachary0kent <73757337+zachary0kent@users.noreply.github.com>

* Update courses-populate.ts

* Update courses-populate.ts

* Fix populateCourses async issue

Ensure that a course's async operations finish before iterating to the next one.

* Quality of Life Fixes

Removed chained thens, made new populations directory, and moved clean filters to utilities.

* Saving courseFieldFilter

---------

Co-authored-by: zachary0kent <73757337+zachary0kent@users.noreply.github.com>
Bumps [webpack](https://github.com/webpack/webpack) from 5.74.0 to 5.76.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](webpack/webpack@v5.74.0...v5.76.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* created course retrieval function and defined new course interface

* lint

* type annotations, docs, and variable retrieval mode

* lint

* Update src/global-firestore-data/courses.ts

Co-authored-by: zachary0kent <73757337+zachary0kent@users.noreply.github.com>

* implement other retrieval methods later

* prettier

* abstracted last offer course to another function

* retrieve course data via crseId

* stylistic change

* remove type assertion

* Update courses.ts

---------

Co-authored-by: zachary0kent <73757337+zachary0kent@users.noreply.github.com>
* Implemented new data science minor

* implemented new animal science minor

* implemented new animal science minor

* implemented new animal science minor

* implemented animal science major

* updated animal science checker

* forgot to add some files

* refactored code for checker (including special studies)

* ran format checker to pass tests

* fixed linter errors in animal-sci.ts

* reverted back pack-lock.json

* Reverted package.json changes from master

* fixed special courses to only include 49** courses
* Make color and credits drop downwards instead of to the side

* Create z-indexes for the modals to put the correct one on top

* Fixed aesthetics and alignment of dropdowns
* replace class roster API call with firebase call

* restore bug for separate PR fix

* Update user-data.d.ts

* fetching courses from firestore

* debug

* Retrieve courses from Firestore for BottomBar component

* Handle course retrieval when roster not available

* remove unused code

* removed redundant semester/year format converter

* refactor using common functions in courses.ts

* Update BottomBarState.ts

* added season and year to incomplete sub req

* Update IncompleteSubReqCourse.vue

* optional prop params

* updated accessibility test

* test stuff

* fix accessibility test

* updated implementation of helper function

* type assertion on function argument

* nits n stuff

* object.assign()
* Parsed Other Yes List

* Run npm format

* Run npm lint

* Changed typscript version

* Reinstalled packages as dev dependencies and cleaned up extra code

* Added upper bound to typescript version

* Fixed jest tests

* Installed as dev dependencies

* Changed cols to enum type

* run npm format

* run npm format again

* Deleted commented code

* npm run format

* removed try catch

* added break

* removed pdf to excel dependency

* remove pdfjs dist
@noschiff noschiff requested a review from zachary-kent April 26, 2023 01:06
@dti-github-bot
Copy link
Member

dti-github-bot commented Apr 26, 2023

[diff-counting] Significant lines: 2045. This diff might be too big! Developer leads are invited to review the code.

@github-actions
Copy link
Contributor

github-actions bot commented Apr 26, 2023

Visit the preview URL for this PR (updated for commit 8096cef):

https://cornelldti-courseplan-dev--pr821-master-djk2xpu2.web.app

(expires Fri, 02 Jun 2023 00:26:57 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 6d4e0437c4559ed895272bbd63991394f1e0e933

@zachary-kent zachary-kent marked this pull request as ready for review April 27, 2023 23:57
@zachary-kent zachary-kent requested a review from a team as a code owner April 27, 2023 23:57
cypress/integration/accessibility-spec.ts Outdated Show resolved Hide resolved
package.json Outdated Show resolved Hide resolved
@@ -1 +1 @@
["WI17","SP17","SU17","FA17","WI18","SP18","SU18","FA18","WI19","SP19","SU19","FA19","WI20","SP20","SU20","FA20","WI21","SP21","SU21","FA21","WI22","SP22","SU22","FA22","WI23","SP23"]
["WI17","SP17","SU17","FA17","WI18","SP18","SU18","FA18","WI19","SP19","SU19","FA19","WI20","SP20","SU20","FA20","WI21","SP21","SU21","FA21","WI22","SP22","SU22","FA22","WI23","SP23","SU23"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure how this was added, but the fact that FA23 isn't in here makes me think that we manually added SU23 in, either by hard-coding or running some script.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah this is added by the courses-gen script, which I just ran. However the frontend tests are failing on the branch where I did because the courses json and the course data collection are out of sync. We'll have to merge #820 and populate the course data collection with the FA23 roster to fix this.

src/components/BottomBar/BottomBarState.ts Outdated Show resolved Hide resolved
Comment on lines +65 to +306
'ORIE 4580',
'ORIE 4741',
'ORIE 4820',
'PSYCH 4750',
'PSYCH 4760',
'STSCI 3200',
'STSCI 4740',
'STSCI 4780',
],

[
'COMM 4242',
'DSOC 2120',
'DSOC 4060',
'ENGL 3778',
'GOVT 3999',
'INFO 1200',
'INFO 1260',
'INFO 3200',
'INFO 4240',
'INFO 4250',
'INFO 4270',
'INFO 4561',
'PAM 2070',
'PAM 4060',
'PAM 4230',
'PAM 4540',
'STS 3440',
'STS 3561',
],

[
'COMM 3150',
'COMM 3350',
'COMM 3189',
'COMM 4200',
'COMM 4360',
'COMM 4860',
'INFO 4310',
],
[
'AEM 2770',
'AEM 3100',
'AEM 4060',
'AEM 4110',
'AEM 4225',
'AEM 4435',
'AEM 4620',
'AEM 4660',
'ASTRO 3310',
'BIOEE 3611',
'BIOEE 3620',
'BIOEE 4940',
'SOC 3580',
'BIOMG 4810',
'BIONB 3300',
'BIOMG 4870',
'BIONB 4220',
'BIONB 4380',
'BTRY 4381',
'BTRY 4820',
'BTRY 4830',
'BTRY 4840',
'CHEM 4810',
'CS 4740',
'DSOC 3140',
'EAS 3540',
'ECON 3120',
'ECON 3130',
'ECON 3140',
'ECON 4110',
'ENTOM 3030',
'HADM 4050',
'HADM 4770',
'INFO 3350',
'INFO 4100',
'ILRHR 4664',
'ILROB 4710',
'NS 4300',
'NTRES 3100',
'NTRES 3500',
'NTRES 4100',
'ORIE 2380',
'ORIE 4120',
'ORIE 4132',
'ORIE 4630',
'ORIE 4742',
'PAM 3280',
'PAM 3400',
'PAM 3600',
'PAM 3670',
'PAM 3780',
'PAM 3850',
'PAM 4080',
'PAM 4101',
'PAM 4110',
'PLSCS 4110',
'PLSCS 4200',
'PLSCS 4650',
'STS 4040',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this minor only accept these courses? Or we can we check by ensuring that the course is of a certain level (e.g 3000+) using notation like 3***.

Copy link
Collaborator

@zachary-kent zachary-kent Apr 30, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems as though the DS minor does indeed list all of these courses in excruciating detail. See here.

Comment on lines +51 to +97
'CS 2110',
'CS 2112',
'CS 4450',
'CS 4620',
'CS 4700',
'CS 4740',
'CS 4780',
'CS 5414',
'CS 5625',
'INFO 2450',
'INFO 3140',
'INFO 3200',
'INFO 3450',
'INFO 3561',
'INFO 3660',
'INFO 4240',
'INFO 4275',
'INFO 4301',
'INFO 4320',
'INFO 4400',
'PMA 3531',
'PMA 3533',
'PMA 3614',
'PMA 3631',
'PMA 3680',
'PMA 3880',
'PSYCH 2050',
'PSYCH 2090',
'PSYCH 2150',
'PSYCH 3140',
'PSYCH 3160',
'PSYCH 3350',
'PSYCH 3420',
'PSYCH 4120',
'PSYCH 4180',
'PSYCH 4270',
'PSYCH 4280',
'PSYCH 4331',
'PSYCH 4320',
'PSYCH 4360',
'PSYCH 4370',
'PSYCH 4650',
'PSYCH 4770',
'PSYCH 4780',
'ARTH 3650',
'ASIAN 3315',
'DEA 3510',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It may be better to check for a certain level like 3000+. Refer to earlier comment for more details.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See above

Copy link
Collaborator

@elizabeth-tang elizabeth-tang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think everything is good! Not encountering any bugs/errors with stuff related to course data in the couple of different avenues I tested. Also no issues with new minors -- works as expected running locally, requirement computation seems to work as well.

Just left a simple review on deleting the commented out test in the cypress tests that doesn't seem to be necessary or do anything currently.

cypress/integration/accessibility-spec.ts Outdated Show resolved Hide resolved
Copy link
Contributor

@PabloRaigoza PabloRaigoza left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested links for data sciences, game design, and earth atmosphere.
Was able to add courses to fulfil game design, data science, and earth atmosphere minors.
Also tested adding new semesters, changing majors, and editing semester colors and found no bugs as well.
Looks ready to merge.

@noschiff
Copy link
Member Author

@rohanmaheshwari430 course data on dev isn't working
image

@zachary-kent
Copy link
Collaborator

@rohanmaheshwari430 course data on dev isn't working image

Yeah see my comment

rohanmaheshwari430 and others added 3 commits May 1, 2023 21:20
* replace class roster API call with firebase call

* restore bug for separate PR fix

* Update user-data.d.ts

* fetching courses from firestore

* debug

* Retrieve courses from Firestore for BottomBar component

* Handle course retrieval when roster not available

* remove unused code

* removed redundant semester/year format converter

* refactor using common functions in courses.ts

* Update BottomBarState.ts

* added season and year to incomplete sub req

* Update IncompleteSubReqCourse.vue

* optional prop params

* updated accessibility test

* test stuff

* fix accessibility test

* updated implementation of helper function

* type assertion on function argument

* nits n stuff

* object.assign()

* populate specific roster script

* refactor functions

* pass roster through command line

* Update populate-specific-roster.ts
* Parsed Other Yes List

* Run npm format

* Run npm lint

* Changed typscript version

* Reinstalled packages as dev dependencies and cleaned up extra code

* Added upper bound to typescript version

* Fixed jest tests

* Installed as dev dependencies

* Changed cols to enum type

* run npm format

* run npm format again

* validate parsed courses

* changed name to fullCoursesArray

* create script for fetching other yes list

* run npm tests

* remove pdfjs-dist and save json to src/assets/courses

* move json file
* Parsed Other Yes List

* Run npm format

* Run npm lint

* Changed typscript version

* Reinstalled packages as dev dependencies and cleaned up extra code

* Added upper bound to typescript version

* Fixed jest tests

* Installed as dev dependencies

* Changed cols to enum type

* run npm format

* run npm format again

* validate parsed courses

* changed name to fullCoursesArray

* create script for fetching other yes list

* run npm tests

* modified liberal studies checker

* run mpm prettier

* disable lint for any
Copy link
Collaborator

@elizabeth-tang elizabeth-tang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok looks good!! Excited about the new features!

@noschiff noschiff merged commit 97521db into release May 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.