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

Generate only one full-courses.json #458

Merged
merged 1 commit into from
Apr 14, 2021
Merged

Conversation

SamChou19815
Copy link
Contributor

@SamChou19815 SamChou19815 commented Apr 11, 2021

Summary

Right now we have two set of course json: one in the functions folder of filtered courses, one in assets folder as full-courses.json. However, we only need one: full-courses.json, since we are already only using course data of the latest offerings.

This PR unifies the script to generate only one and removes the others. I updated all the usages to use the single source of truth.

Test Plan

npm run req-gen. It only generates small amount of changes, which shows that the change is good. (Small number of changes are expected, since cornell updates the roster regularly and new courses might be added in the semester.)

Notes

I also make the course json no longer collapse on a single line. It can make future changes and review easy.

@SamChou19815 SamChou19815 requested a review from a team as a code owner April 11, 2021 22:31
@dti-github-bot
Copy link
Member

dti-github-bot commented Apr 11, 2021

[diff-counting] Significant lines: 256.

@github-actions
Copy link
Contributor

github-actions bot commented Apr 11, 2021

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

https://cornelldti-courseplan-dev--pr458-single-course-json-iza7bewz.web.app

(expires Tue, 20 Apr 2021 14:01:35 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Copy link
Collaborator

@tcho6319 tcho6319 left a comment

Choose a reason for hiding this comment

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

Thanks Sam! This code clean-up definitely makes the course fetching process simpler for other devs to follow. I requested some documentation but once that's addressed, this PR should be g2g.

"fetch-courses": "ts-node -T -P tsconfig.node.json src/requirements/fetcher.ts",
"courses-gen": "ts-node -T -P tsconfig.node.json src/requirements/courses-json-generator.ts",
Copy link
Collaborator

Choose a reason for hiding this comment

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

So just to check: if we want to fetch all the course data we need from course roster api, we run npm run courses-gen moving forward.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes


const wait = (time: number) => new Promise<void>(resolve => setTimeout(() => resolve(), time));

const getSemesters = async (): Promise<readonly string[]> => {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Can you document this code (like each const or at least in the form of a spec at the top of this script) to show that we're ultimately getting the latest offering of a course and then combining them into the full-courses.json?

Copy link
Collaborator

@tcho6319 tcho6319 left a comment

Choose a reason for hiding this comment

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

LGTM ty Sam!

@SamChou19815 SamChou19815 merged commit 944ab05 into master Apr 14, 2021
@SamChou19815 SamChou19815 deleted the single-course-json branch April 14, 2021 01:27
tcho6319 added a commit that referenced this pull request May 5, 2021
…g Fixes (#495)

* Migrate to vue3 (#453)

* Migrate to vue3

* Fix courses not showing up due to incorrect usage of draggable library

* Fix router issue due to incorrect usage of routing library

* Fix bottombar information loading due to vue3 reactivitity changes

Need to update only when all fields are ready, since vue3 cannot detect nested field changes now.

* Fix semester height issue by passing style via componentData

another breaking change of vue-draggable library

* Correct fix for missing value prop for ResetConfirmation modal

vue3 changes value in v-model to be modelValue.

* Fix reset confirmation modal

* Unbreak scrollIntoView

* Unbreak scrollIntoView

* Fix graduation year autoscroll

* [easy] Remove simplified course json generator (#456)

* [easy] Remove useless npm script (#457)

* Generate only one full-courses.json (#458)

* Add Human Development major & minor (#455)

* Add human-development minor

* Add human dev major

* CI check

* PR fixes - including FL common checker

* Add TODO comment

* Add linguistics major and minor (#454)

* Add linguistics major

* Update tests

* Add linguistics minor, update urls

* Add minimum credit checker

* Allow ling minors to take foundation courses as electives (double counting issue)

* Add todos, fix tests

* Update decorated-requirements.json

* PR description, warning, and TODO updates

* Add and display slot names to every requirement (#460)

* Add and display slot names to every requirement

* fix typo

* Post launch identified bugs (Total credit denominator, edit semester dropdowns) (#459)

* Fix edit semester dropdowns resetting

* Bug fix on total credit denominator increasing

* Remove special AG case

* Update 120 credit descriptions

* Update README with Kehui and Miranda (#462)

* Add Catalog Attribute course data (#461)

* Add catalogAttribute to fetcher

* Add CU-UGR checker to linguistics

* Update decorated-requirements.json

* Add Math major (#463)

* Add Material Science Engineering and PAM majors (#464)

* Start of MSE - need to finish applications and test

* Fix categorychecker and test

* Add PAM major, some HE/HD fixes

* PR fixes

* Aerospace engineering minor (#466)

* Annotate emits on components so that they can be type-checked (#470)

* Rename requirement components to reduce confusion (#473)

As discussed before subrequirement means two different things, depending on whether you are working on the algorithm or in the UI. This diff makes things more consistent. Since we finally have a consistent names for requirement stuff, I added them to the docs to reduce future confusion.

* Factor out requirement components in RequirementFulfillment (1/n) (#474)

* [easy] Setup compound requirements types and generator (#475)

* Add entrance year to onboarding (#472)

* Add entrance year to onboarding

* Quick scroll change

* Scroll new semester year dropdown to entrance year

* nit

* [easy] Remove useless displayDescription check (#476)

* Add physics and engineering physics majors (#465)

* Add phys major

* Address phys nuances

* Add ep major

* Fix test, lint

* Update phys requirements

* Shorten description, update comments

* Update concentration outside physics checker

* Factor out requirement components in RequirementFulfillment (2/n) (#477)

* Added STS Major (#469)

* start sts major

* add sts major

* update descriptions on sts major

* rename slot

* update requirements

* Factor out requirement components in RequirementFulfillment (3/n) (#478)

* Added Astronomy Major (#468)

* added astro req

* run tests

* updated descriptions on astro major

* Bump ssri from 6.0.1 to 6.0.2 (#483)

* Factor out requirement components in RequirementFulfillment (4/n) (#480)

* Remove semester caution modal (#484)

* Add more possible foreign langs in requirements (#479)

* Add more possible foreign langs

* Run req gen

* Comment out course codes that don't count for A&S FL

* Run courses-gen for FA21 data (#485)

* Updated README with dev name (#467)

* Create tests for computeFulfillmentCoursesAndStatistics (#488)

* Onboarding Required Fields Bug (#487)

* Onboarding Required Fields for first page and handling invalid majors/minors

* make isError and isInvalidMajorOrMinorError computed props

* Set CUReviews data to N/A for new FA21 courses (#486)

* Set class ratings to null for courses not in CUReviews

* Fix styling issue when courses have no description

* Switch tabs to buttons

* Add hover state to tabs

* Fuse search implementation (#482)

Updates our course search to use [fuse.js](fusejs.io)

* Added Spanish major and minor, and Food Science major (#490)

* added spanish minor and major

* finalised spanish reqs

* updated spanish major to use subreqs

* finalised food science major

* ran npm req gen

* change to spanish minor

* ran formatter

* linter fix

* fixed electives bug for spanish major

* Change slot name from 'courses' to 'course'

* shortened course slot names

* added requested changes

* improved food sci concentration description

* Bs and es major (#471)

Added biology & society and ESS majors

Co-authored-by: einc <ein.chang@gmail.com>

* Added ece, robotics, health policy minors (#493)

Added ece, robotics, hp minors

* Reinstate old way of course search without fuse.js (#494)

Co-authored-by: Sam Zhou <sam@developersam.com>
Co-authored-by: Will Spencer <will.e.spencer@gmail.com>
Co-authored-by: Hahnbee Lee <55263191+hahnbeelee@users.noreply.github.com>
Co-authored-by: Benjamin Shen <bfs45@cornell.edu>
Co-authored-by: Jason Tung <jt568@cornell.edu>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vaishnavi Gupta <vg222@cornell.edu>
Co-authored-by: neketka <neketka@gmail.com>
Co-authored-by: einc <ein.chang@gmail.com>
elizabeth-tang added a commit that referenced this pull request May 4, 2024
* Post Launch: Vue3 Migration, Slot Names, 20 New Majors and Minors, Bug Fixes (#495)

* Migrate to vue3 (#453)

* Migrate to vue3

* Fix courses not showing up due to incorrect usage of draggable library

* Fix router issue due to incorrect usage of routing library

* Fix bottombar information loading due to vue3 reactivitity changes

Need to update only when all fields are ready, since vue3 cannot detect nested field changes now.

* Fix semester height issue by passing style via componentData

another breaking change of vue-draggable library

* Correct fix for missing value prop for ResetConfirmation modal

vue3 changes value in v-model to be modelValue.

* Fix reset confirmation modal

* Unbreak scrollIntoView

* Unbreak scrollIntoView

* Fix graduation year autoscroll

* [easy] Remove simplified course json generator (#456)

* [easy] Remove useless npm script (#457)

* Generate only one full-courses.json (#458)

* Add Human Development major & minor (#455)

* Add human-development minor

* Add human dev major

* CI check

* PR fixes - including FL common checker

* Add TODO comment

* Add linguistics major and minor (#454)

* Add linguistics major

* Update tests

* Add linguistics minor, update urls

* Add minimum credit checker

* Allow ling minors to take foundation courses as electives (double counting issue)

* Add todos, fix tests

* Update decorated-requirements.json

* PR description, warning, and TODO updates

* Add and display slot names to every requirement (#460)

* Add and display slot names to every requirement

* fix typo

* Post launch identified bugs (Total credit denominator, edit semester dropdowns) (#459)

* Fix edit semester dropdowns resetting

* Bug fix on total credit denominator increasing

* Remove special AG case

* Update 120 credit descriptions

* Update README with Kehui and Miranda (#462)

* Add Catalog Attribute course data (#461)

* Add catalogAttribute to fetcher

* Add CU-UGR checker to linguistics

* Update decorated-requirements.json

* Add Math major (#463)

* Add Material Science Engineering and PAM majors (#464)

* Start of MSE - need to finish applications and test

* Fix categorychecker and test

* Add PAM major, some HE/HD fixes

* PR fixes

* Aerospace engineering minor (#466)

* Annotate emits on components so that they can be type-checked (#470)

* Rename requirement components to reduce confusion (#473)

As discussed before subrequirement means two different things, depending on whether you are working on the algorithm or in the UI. This diff makes things more consistent. Since we finally have a consistent names for requirement stuff, I added them to the docs to reduce future confusion.

* Factor out requirement components in RequirementFulfillment (1/n) (#474)

* [easy] Setup compound requirements types and generator (#475)

* Add entrance year to onboarding (#472)

* Add entrance year to onboarding

* Quick scroll change

* Scroll new semester year dropdown to entrance year

* nit

* [easy] Remove useless displayDescription check (#476)

* Add physics and engineering physics majors (#465)

* Add phys major

* Address phys nuances

* Add ep major

* Fix test, lint

* Update phys requirements

* Shorten description, update comments

* Update concentration outside physics checker

* Factor out requirement components in RequirementFulfillment (2/n) (#477)

* Added STS Major (#469)

* start sts major

* add sts major

* update descriptions on sts major

* rename slot

* update requirements

* Factor out requirement components in RequirementFulfillment (3/n) (#478)

* Added Astronomy Major (#468)

* added astro req

* run tests

* updated descriptions on astro major

* Bump ssri from 6.0.1 to 6.0.2 (#483)

* Factor out requirement components in RequirementFulfillment (4/n) (#480)

* Remove semester caution modal (#484)

* Add more possible foreign langs in requirements (#479)

* Add more possible foreign langs

* Run req gen

* Comment out course codes that don't count for A&S FL

* Run courses-gen for FA21 data (#485)

* Updated README with dev name (#467)

* Create tests for computeFulfillmentCoursesAndStatistics (#488)

* Onboarding Required Fields Bug (#487)

* Onboarding Required Fields for first page and handling invalid majors/minors

* make isError and isInvalidMajorOrMinorError computed props

* Set CUReviews data to N/A for new FA21 courses (#486)

* Set class ratings to null for courses not in CUReviews

* Fix styling issue when courses have no description

* Switch tabs to buttons

* Add hover state to tabs

* Fuse search implementation (#482)

Updates our course search to use [fuse.js](fusejs.io)

* Added Spanish major and minor, and Food Science major (#490)

* added spanish minor and major

* finalised spanish reqs

* updated spanish major to use subreqs

* finalised food science major

* ran npm req gen

* change to spanish minor

* ran formatter

* linter fix

* fixed electives bug for spanish major

* Change slot name from 'courses' to 'course'

* shortened course slot names

* added requested changes

* improved food sci concentration description

* Bs and es major (#471)

Added biology & society and ESS majors

Co-authored-by: einc <ein.chang@gmail.com>

* Added ece, robotics, health policy minors (#493)

Added ece, robotics, hp minors

* Reinstate old way of course search without fuse.js (#494)

Co-authored-by: Sam Zhou <sam@developersam.com>
Co-authored-by: Will Spencer <will.e.spencer@gmail.com>
Co-authored-by: Hahnbee Lee <55263191+hahnbeelee@users.noreply.github.com>
Co-authored-by: Benjamin Shen <bfs45@cornell.edu>
Co-authored-by: Jason Tung <jt568@cornell.edu>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vaishnavi Gupta <vg222@cornell.edu>
Co-authored-by: neketka <neketka@gmail.com>
Co-authored-by: einc <ein.chang@gmail.com>

* January 2022 Release (#634)

* [easy] Delete AP/IB override code (#587)

They will be replaced by the new opt-in/opt-out infra.

* Convert TrackUsers to script to store data in Firestore daily (#601)

* Copy track users to ts file and make it a script

* Output track users script to new track-users collection

* Set up cron job to call npm command and run script

* Fix lint

* Delete Firebase TrackUsers and move function call

* Fix Mobile Navbar Click Outside (#598)

* Have clicking outside navbar close menu instead of opening onboarding

* Bump z-index so modals display above navbar

* Fix lint

* [easy] Fix enforce release workflow job (#602)

* fix enforce release workflow job

* Revert "fix enforce release workflow job"

This reverts commit 94c05b3.

* Revert "Revert "fix enforce release workflow job""

This reverts commit 719fc57.

* Add AS Major (#589)

* Added as major

* Ran prettier, unbroke test

* Added requirement to frontend

* Fixed up frontend

* Fixed slot count error

* Ran req-gen

* Add NPM clean install to fix failing track-users (#605)

* Remove semester type from codebase (#604)

* remove semester type

* fix type errors

* Add prod service account secret to track-users (#608)

* Use service account secret when provided (#609)

* Add prod service account secret to track-users

* Use service account secret when provided

* Fix lint

* JSON parse service account

* Added the template file for the ECE major (#600)

* Added the template file for the ECE major

* Update ece.ts

* Update ece.ts

* Requirement builder with the new data format (#588)

* add test for minimize semester (#613)

* Avoid tracking users that have not finished onboarding (#610)

* Avoid tracking users that have not finished onboarding

* Fix lint

* Add analytics data to CoursePlan route (#607)

* Create analytics container and add it to route file (copied from old branch)

* Get newest doc to display as json

* Pretty print json

* Fix lint and type checks

* Require auth to access route

* Style page if no data shown

* Add timestamp of last analytics run

* Remove accidental commit

* Bug fix for non-cp users

* Refactor analytics retrieval to global-firestore-data

* Optimize code by only retrieving newest document from collection (and adding timestamp field)

* Change timestamp to date type

* Remove null check, add comment

* Add FA21 contributors to README (#619)

### Summary <!-- Required -->

<!-- Provide a general summary of your changes in the Title above -->
<!-- Itemize bug fixes, new features, and other changes -->
<!-- Feel free to break this into sub-sections, i.e. features, fixes, etc. -->
<!-- Some examples are shown below. -->

This pull request adds the list of FA21 contributors to CoursePlan now that the semester is over.


### Test Plan <!-- Required -->

Confirm the list matches the one on Notion here: https://www.notion.so/courseplan/CoursePlanners-cc431147c85d4d4abfdf47bdbe8b1a1c

* Setup infrastructure for two-graph-based progress computation (#615)

* Placeholder courses (#592)

* Add placeholder component, place after every course temporarily

* Make code improvements

* Match placeholder styling to Figma in both views

* Support FirestoreSemesterPlaceholder type, shows placeholders from Firestore

* Define isPlaceholderCourse function, use to resolve type errors & fix bugs

* Fix failing jest test

* Fix lint

* Implement warnings when semester mismatches, in either semester ordering

* Simplify utility function

* Update comment (and refresh deployment)

* Add hover state to 6 dots, change cursor to grab

* Delete comment

* Implement Intl API for warnings

* Add EAS Major (#590)

* Added eas reqs

* Added chem fulfillment option

* (Mostly) finished EAS requirements

* Added major

* Unbroke test

* Cleaned up frontend

* Made labeling clearer

* Cleaned up message

* Fixed typo

* Added field work requirement

* Changed field work requirement

* Specialize requirements (#611)

* Implemented specialization functiionality

* Added CS specialization

* Ran prettier

* Ran req-gen

* Fixed linter errors

* Refactored infra

* Added math 2930

* Fixed linter error

* Create useful exam mappings derived from exam data (#606)

* map exam id to equivalent course and conditions

* add exam to course and course to exam mappings

* remove majors and colleges from export

* fix college type

* Address nits

* fix tests

* fix lint

* Fix college type

* use fromEntries

* nit

* Fix AG foreign language checker (#623)

* Fix BIO major BIOMG 4320 requirement (#624)

* Add exam course ids and conditions to requirements json (#625)

* set up structure

* add exam course ids and conditions to requirements json

* move toggleable conditions to same level as course list

* refactor decorators

* fix lint issues

* add back college name sort

* conditional specializations property

* Add check-req-json workflow job (#628)

* Add check-req-json workflow job

* Fix req-json discrepancy

* Split up npm install and npm run req-gen

* [easy] Fix AP/IB old infra bug for multiple equivalent courses (#631)

* fix bug

* fix object set

* Remove hardcoded dropdown start year to fix new year Cypress bug (#629)

* Make start year code common and use in cypress instead of hardcoding 2015

* Turn getYearRange into constant and clarify comment

* Fix lint

* Switch to new AP/IB infra (#627)

* Switch to new AP/IB infra

* rename no fulfillments course id

* req-gen

* fix lint

* Update CS major (#626)

* add CHEM 2080 requirement and CS 4414

* prettier?

* did it update

* what about now

* now?

* hi will

* address nit and package lock changes

* run req gen

Co-authored-by: Will Spencer <will.e.spencer@gmail.com>

* Fix HE credits double counting and DEA statistics req (#630)

* Add script for migrating old subject colors to new subject colors (#614)

* add color migration script

* use if-else instead of switch

* reuse switch with hasOwnProperty

* lint

* delete console log

* Run on subjectColorsCollection instead of usernameCollection

Co-authored-by: Benjamin Shen <bfs45@cornell.edu>

* remove usernaemCollection import

Co-authored-by: Hahnbee Lee <55263191+hahnbeelee@users.noreply.github.com>
Co-authored-by: Benjamin Shen <bfs45@cornell.edu>
Co-authored-by: Hahnbee Lee <hl985@cornell.edu>

* Dashboard entrypoint (#616)

* add icons

* navbar design

* add tools page

* mobile responsiveness

* address nits

* add feature flag + mobile plan icon

* prettier

Co-authored-by: Hahnbee Lee <hl985@cornell.edu>

* Deprecate old ap/ib infra (#632)

* deprecate old ap/ib infra

* fix lint

* fix tests

* add ap/ib exam id tests (#635)

* Fix swim test bugs (#637)

* change unique id from -1 to 'swim test'

* change swim test requirement

* refactor and fix deleteTransferCredit

* unbreak requirement id test

* Refactor constraint violations (#633)

* refactor constraint violations

* format

* add object structuring to removeIllegalEdges

* remove null return type

* modify allowDoubleCounting function to be more accurate

* Revert "modify allowDoubleCounting function to be more accurate"

This reverts commit 03f3840.

* change double counting perspective

* polish requirementsThatDoNotAllowDoubleCounting

* fix lint

* fix double counting constraint, polish constraint violation function

* preserve requirement order

* small fixes

* fix lint

* remove minor auto double counting

* address code comments

* rename

* fix test

* fix courseToRequirementsInConstraintViolations

* remove console log

* Fix requirements double counting (#638)

* fix bugs

* remove console log

* format

* fix arg order

* fix add modal opt out

* refactor dummy uniqueid

* refactor to getRelatedUnfulfilledRequirements

* move opt out filter to opt out function

* automatically fulfilled requirements

* add comment

* opt out of all requirements possibly in constraint violation

* add minor-grad restriction for double counting

Co-authored-by: Sam Zhou <sam@developersam.com>
Co-authored-by: Will Spencer <will.e.spencer@gmail.com>
Co-authored-by: zachary0kent <73757337+zachary0kent@users.noreply.github.com>
Co-authored-by: Aryan Yadav <yadavaryan424@gmail.com>
Co-authored-by: Toby (Ju Mong) Ko <jk2299@cornell.edu>
Co-authored-by: ein <ein.chang@gmail.com>
Co-authored-by: Hahnbee Lee <55263191+hahnbeelee@users.noreply.github.com>
Co-authored-by: Hahnbee Lee <hl985@cornell.edu>

* Revert "Spring 2023 Pre-Enroll Release"

* Revert "Revert "Spring 2023 Pre-Enroll Release""

* SP24 Multiple Plans Release (#901)

* updated contributors page (#890)

* chore: added engrc 3027 as valid engrc (#891)

* Add ENGRC 3025 as Engineering Communications (#900)

* add engrc 3025

* run req-gen

* multiple plans! (#877)

* refactor whole codebase to plans instead of semesters

* add functions that disappeared after merge

* Implemented multiple plans feature flag and added add plan button

* Multiple plans dropdown (#806)

* Implement dropdown frontend

- Add dropdown component
- Add cypress tests for open/close states.

* Add changing arrow direction

* Change plan when clicked

* Run checks

* Enable feature flag before running test

* Fix arrow resizing problem and address Zak changes

* Change colors to set colors, try to fix test

* Tests working + remove feature flag for time being

* Finally passing the cypress tests <33

* Hover state cursor -> pointer

* Refactor css into scss

* Add scss file lol

* migration script for multiple plans in firebase (#817)

* migration script for multiple plans in firebase

* Move Plan type to Migration Script

* Multiple plans functions (#816)

* Implement dropdown frontend

- Add dropdown component
- Add cypress tests for open/close states.

* Add changing arrow direction

* Change plan when clicked

* Run checks

* Enable feature flag before running test

* Fix arrow resizing problem and address Zak changes

* Change colors to set colors, try to fix test

* Tests working + remove feature flag for time being

* Finally passing the cypress tests <33

* Hover state cursor -> pointer

* Refactor css into scss

* Add scss file lol

* Implement Vuex and Firestore functions

* Update src/global-firestore-data/user-semesters.ts

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

* Update src/global-firestore-data/user-semesters.ts

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

* Update src/global-firestore-data/user-semesters.ts

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

* Update src/store.ts

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

* Run format

* Add computed property for plans and currentplan

---------

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

* Implement frontend for all modals to add, delete and edit plans.

* Run npm format

* call firestore functions for add blank plan

* Fix type issue in teleport modal

* fix issue with adding 2nd new plan

* add plan type

* add getter for current plan's semesters

* missed one use of getter

* delete duplicate functions

* multiple plans is multiple planning??

* confirmation modal when plans are added/deleted/edited

* fix bug to display correct plan

* cypress tests

* address edge cases in multiple plans (#895)

* Implemented multiple plans feature flag and added add plan button

* Multiple plans dropdown (#806)

* Implement dropdown frontend

- Add dropdown component
- Add cypress tests for open/close states.

* Add changing arrow direction

* Change plan when clicked

* Run checks

* Enable feature flag before running test

* Fix arrow resizing problem and address Zak changes

* Change colors to set colors, try to fix test

* Tests working + remove feature flag for time being

* Finally passing the cypress tests <33

* Hover state cursor -> pointer

* Refactor css into scss

* Add scss file lol

* migration script for multiple plans in firebase (#817)

* migration script for multiple plans in firebase

* Move Plan type to Migration Script

* Multiple plans functions (#816)

* Implement dropdown frontend

- Add dropdown component
- Add cypress tests for open/close states.

* Add changing arrow direction

* Change plan when clicked

* Run checks

* Enable feature flag before running test

* Fix arrow resizing problem and address Zak changes

* Change colors to set colors, try to fix test

* Tests working + remove feature flag for time being

* Finally passing the cypress tests <33

* Hover state cursor -> pointer

* Refactor css into scss

* Add scss file lol

* Implement Vuex and Firestore functions

* Update src/global-firestore-data/user-semesters.ts

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

* Update src/global-firestore-data/user-semesters.ts

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

* Update src/global-firestore-data/user-semesters.ts

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

* Update src/store.ts

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

* Run format

* Add computed property for plans and currentplan

---------

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

* Implement frontend for all modals to add, delete and edit plans.

* Run npm format

* call firestore functions for add blank plan

* Fix type issue in teleport modal

* fix issue with adding 2nd new plan

* refactor whole codebase to plans instead of semesters

* add functions that disappeared after merge

* add plan type

* add getter for current plan's semesters

* missed one use of getter

* delete duplicate functions

* multiple plans is multiple planning??

* confirmation modal when plans are added/deleted/edited

* fix bug to display correct plan

* cypress tests

* address edge cases in multiple plans

* disable buttons

* frontend fixes

* frontend fix again

* tour + refactoring

* Revert "frontend fixes"

This reverts commit 2e66263.

* Revert "tour + refactoring"

This reverts commit 49ee18d.

* change button radius

* refactoring again

* silly format fix

* frontend fixes

* auto name for copy

* sawNewFeature migration

* tour!

* firebase changes

* slay? only appear once?

* address edge cases in multiple plans

* disable buttons

* frontend fixes

* frontend fix again

* tour + refactoring

* Revert "frontend fixes"

This reverts commit 2e66263.

* Revert "tour + refactoring"

This reverts commit 49ee18d.

* change button radius

* refactoring again

* silly format fix

* frontend fixes

* auto name for copy

* sawNewFeature migration

* tour!

* firebase changes

* slay? only appear once?

* cypress

---------

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

* get rid of console

* copy name

* fix

* fix

---------

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

* recompute reqs (#902)

* add Viticulture and Enology major (#896)

* added vien.ts file and import statements

* imported vien to index

* Added Physical Science Core for major

* added chemistry requirement

* fixed physical science core requirements logic

* added Statistics requirement

* added Plant Science Requirement and fixed name for Statistics

* Add Viticulture & Encology Core

* Add Major Electives w/ description

* Add descriptions and Advisor

* fixed logic

* fixed order by (#903)

* fixed order by

* delete console

---------

Co-authored-by: Hannah Zhou <91917682+plumshum@users.noreply.github.com>
Co-authored-by: Simon Ilincev <simon@simonilincev.com>
Co-authored-by: Andrew Xu <53061040+andxu282@users.noreply.github.com>
Co-authored-by: zachary0kent <73757337+zachary0kent@users.noreply.github.com>
Co-authored-by: andxu282 <ajx8@cornell.edu>

---------

Co-authored-by: Will Spencer <will.e.spencer@gmail.com>
Co-authored-by: Theresa Cho <54298311+tcho6319@users.noreply.github.com>
Co-authored-by: Sam Zhou <sam@developersam.com>
Co-authored-by: Hahnbee Lee <55263191+hahnbeelee@users.noreply.github.com>
Co-authored-by: Benjamin Shen <bfs45@cornell.edu>
Co-authored-by: Jason Tung <jt568@cornell.edu>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vaishnavi Gupta <vg222@cornell.edu>
Co-authored-by: neketka <neketka@gmail.com>
Co-authored-by: einc <ein.chang@gmail.com>
Co-authored-by: zachary0kent <73757337+zachary0kent@users.noreply.github.com>
Co-authored-by: Aryan Yadav <yadavaryan424@gmail.com>
Co-authored-by: Toby (Ju Mong) Ko <jk2299@cornell.edu>
Co-authored-by: Hahnbee Lee <hl985@cornell.edu>
Co-authored-by: Noah Schiff <47431797+noschiff@users.noreply.github.com>
Co-authored-by: Zak Kent <zak33@cornell.edu>
Co-authored-by: Zak Kent <73757337+zachary-kent@users.noreply.github.com>
Co-authored-by: Andrew Xu <53061040+andxu282@users.noreply.github.com>
Co-authored-by: Hannah Zhou <91917682+plumshum@users.noreply.github.com>
Co-authored-by: Simon Ilincev <simon@simonilincev.com>
Co-authored-by: andxu282 <ajx8@cornell.edu>
elizabeth-tang added a commit that referenced this pull request May 4, 2024
* Post Launch: Vue3 Migration, Slot Names, 20 New Majors and Minors, Bug Fixes (#495)

* Migrate to vue3 (#453)

* Migrate to vue3

* Fix courses not showing up due to incorrect usage of draggable library

* Fix router issue due to incorrect usage of routing library

* Fix bottombar information loading due to vue3 reactivitity changes

Need to update only when all fields are ready, since vue3 cannot detect nested field changes now.

* Fix semester height issue by passing style via componentData

another breaking change of vue-draggable library

* Correct fix for missing value prop for ResetConfirmation modal

vue3 changes value in v-model to be modelValue.

* Fix reset confirmation modal

* Unbreak scrollIntoView

* Unbreak scrollIntoView

* Fix graduation year autoscroll

* [easy] Remove simplified course json generator (#456)

* [easy] Remove useless npm script (#457)

* Generate only one full-courses.json (#458)

* Add Human Development major & minor (#455)

* Add human-development minor

* Add human dev major

* CI check

* PR fixes - including FL common checker

* Add TODO comment

* Add linguistics major and minor (#454)

* Add linguistics major

* Update tests

* Add linguistics minor, update urls

* Add minimum credit checker

* Allow ling minors to take foundation courses as electives (double counting issue)

* Add todos, fix tests

* Update decorated-requirements.json

* PR description, warning, and TODO updates

* Add and display slot names to every requirement (#460)

* Add and display slot names to every requirement

* fix typo

* Post launch identified bugs (Total credit denominator, edit semester dropdowns) (#459)

* Fix edit semester dropdowns resetting

* Bug fix on total credit denominator increasing

* Remove special AG case

* Update 120 credit descriptions

* Update README with Kehui and Miranda (#462)

* Add Catalog Attribute course data (#461)

* Add catalogAttribute to fetcher

* Add CU-UGR checker to linguistics

* Update decorated-requirements.json

* Add Math major (#463)

* Add Material Science Engineering and PAM majors (#464)

* Start of MSE - need to finish applications and test

* Fix categorychecker and test

* Add PAM major, some HE/HD fixes

* PR fixes

* Aerospace engineering minor (#466)

* Annotate emits on components so that they can be type-checked (#470)

* Rename requirement components to reduce confusion (#473)

As discussed before subrequirement means two different things, depending on whether you are working on the algorithm or in the UI. This diff makes things more consistent. Since we finally have a consistent names for requirement stuff, I added them to the docs to reduce future confusion.

* Factor out requirement components in RequirementFulfillment (1/n) (#474)

* [easy] Setup compound requirements types and generator (#475)

* Add entrance year to onboarding (#472)

* Add entrance year to onboarding

* Quick scroll change

* Scroll new semester year dropdown to entrance year

* nit

* [easy] Remove useless displayDescription check (#476)

* Add physics and engineering physics majors (#465)

* Add phys major

* Address phys nuances

* Add ep major

* Fix test, lint

* Update phys requirements

* Shorten description, update comments

* Update concentration outside physics checker

* Factor out requirement components in RequirementFulfillment (2/n) (#477)

* Added STS Major (#469)

* start sts major

* add sts major

* update descriptions on sts major

* rename slot

* update requirements

* Factor out requirement components in RequirementFulfillment (3/n) (#478)

* Added Astronomy Major (#468)

* added astro req

* run tests

* updated descriptions on astro major

* Bump ssri from 6.0.1 to 6.0.2 (#483)

* Factor out requirement components in RequirementFulfillment (4/n) (#480)

* Remove semester caution modal (#484)

* Add more possible foreign langs in requirements (#479)

* Add more possible foreign langs

* Run req gen

* Comment out course codes that don't count for A&S FL

* Run courses-gen for FA21 data (#485)

* Updated README with dev name (#467)

* Create tests for computeFulfillmentCoursesAndStatistics (#488)

* Onboarding Required Fields Bug (#487)

* Onboarding Required Fields for first page and handling invalid majors/minors

* make isError and isInvalidMajorOrMinorError computed props

* Set CUReviews data to N/A for new FA21 courses (#486)

* Set class ratings to null for courses not in CUReviews

* Fix styling issue when courses have no description

* Switch tabs to buttons

* Add hover state to tabs

* Fuse search implementation (#482)

Updates our course search to use [fuse.js](fusejs.io)

* Added Spanish major and minor, and Food Science major (#490)

* added spanish minor and major

* finalised spanish reqs

* updated spanish major to use subreqs

* finalised food science major

* ran npm req gen

* change to spanish minor

* ran formatter

* linter fix

* fixed electives bug for spanish major

* Change slot name from 'courses' to 'course'

* shortened course slot names

* added requested changes

* improved food sci concentration description

* Bs and es major (#471)

Added biology & society and ESS majors

Co-authored-by: einc <ein.chang@gmail.com>

* Added ece, robotics, health policy minors (#493)

Added ece, robotics, hp minors

* Reinstate old way of course search without fuse.js (#494)

Co-authored-by: Sam Zhou <sam@developersam.com>
Co-authored-by: Will Spencer <will.e.spencer@gmail.com>
Co-authored-by: Hahnbee Lee <55263191+hahnbeelee@users.noreply.github.com>
Co-authored-by: Benjamin Shen <bfs45@cornell.edu>
Co-authored-by: Jason Tung <jt568@cornell.edu>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vaishnavi Gupta <vg222@cornell.edu>
Co-authored-by: neketka <neketka@gmail.com>
Co-authored-by: einc <ein.chang@gmail.com>

* January 2022 Release (#634)

* [easy] Delete AP/IB override code (#587)

They will be replaced by the new opt-in/opt-out infra.

* Convert TrackUsers to script to store data in Firestore daily (#601)

* Copy track users to ts file and make it a script

* Output track users script to new track-users collection

* Set up cron job to call npm command and run script

* Fix lint

* Delete Firebase TrackUsers and move function call

* Fix Mobile Navbar Click Outside (#598)

* Have clicking outside navbar close menu instead of opening onboarding

* Bump z-index so modals display above navbar

* Fix lint

* [easy] Fix enforce release workflow job (#602)

* fix enforce release workflow job

* Revert "fix enforce release workflow job"

This reverts commit 94c05b3.

* Revert "Revert "fix enforce release workflow job""

This reverts commit 719fc57.

* Add AS Major (#589)

* Added as major

* Ran prettier, unbroke test

* Added requirement to frontend

* Fixed up frontend

* Fixed slot count error

* Ran req-gen

* Add NPM clean install to fix failing track-users (#605)

* Remove semester type from codebase (#604)

* remove semester type

* fix type errors

* Add prod service account secret to track-users (#608)

* Use service account secret when provided (#609)

* Add prod service account secret to track-users

* Use service account secret when provided

* Fix lint

* JSON parse service account

* Added the template file for the ECE major (#600)

* Added the template file for the ECE major

* Update ece.ts

* Update ece.ts

* Requirement builder with the new data format (#588)

* add test for minimize semester (#613)

* Avoid tracking users that have not finished onboarding (#610)

* Avoid tracking users that have not finished onboarding

* Fix lint

* Add analytics data to CoursePlan route (#607)

* Create analytics container and add it to route file (copied from old branch)

* Get newest doc to display as json

* Pretty print json

* Fix lint and type checks

* Require auth to access route

* Style page if no data shown

* Add timestamp of last analytics run

* Remove accidental commit

* Bug fix for non-cp users

* Refactor analytics retrieval to global-firestore-data

* Optimize code by only retrieving newest document from collection (and adding timestamp field)

* Change timestamp to date type

* Remove null check, add comment

* Add FA21 contributors to README (#619)

### Summary <!-- Required -->

<!-- Provide a general summary of your changes in the Title above -->
<!-- Itemize bug fixes, new features, and other changes -->
<!-- Feel free to break this into sub-sections, i.e. features, fixes, etc. -->
<!-- Some examples are shown below. -->

This pull request adds the list of FA21 contributors to CoursePlan now that the semester is over.


### Test Plan <!-- Required -->

Confirm the list matches the one on Notion here: https://www.notion.so/courseplan/CoursePlanners-cc431147c85d4d4abfdf47bdbe8b1a1c

* Setup infrastructure for two-graph-based progress computation (#615)

* Placeholder courses (#592)

* Add placeholder component, place after every course temporarily

* Make code improvements

* Match placeholder styling to Figma in both views

* Support FirestoreSemesterPlaceholder type, shows placeholders from Firestore

* Define isPlaceholderCourse function, use to resolve type errors & fix bugs

* Fix failing jest test

* Fix lint

* Implement warnings when semester mismatches, in either semester ordering

* Simplify utility function

* Update comment (and refresh deployment)

* Add hover state to 6 dots, change cursor to grab

* Delete comment

* Implement Intl API for warnings

* Add EAS Major (#590)

* Added eas reqs

* Added chem fulfillment option

* (Mostly) finished EAS requirements

* Added major

* Unbroke test

* Cleaned up frontend

* Made labeling clearer

* Cleaned up message

* Fixed typo

* Added field work requirement

* Changed field work requirement

* Specialize requirements (#611)

* Implemented specialization functiionality

* Added CS specialization

* Ran prettier

* Ran req-gen

* Fixed linter errors

* Refactored infra

* Added math 2930

* Fixed linter error

* Create useful exam mappings derived from exam data (#606)

* map exam id to equivalent course and conditions

* add exam to course and course to exam mappings

* remove majors and colleges from export

* fix college type

* Address nits

* fix tests

* fix lint

* Fix college type

* use fromEntries

* nit

* Fix AG foreign language checker (#623)

* Fix BIO major BIOMG 4320 requirement (#624)

* Add exam course ids and conditions to requirements json (#625)

* set up structure

* add exam course ids and conditions to requirements json

* move toggleable conditions to same level as course list

* refactor decorators

* fix lint issues

* add back college name sort

* conditional specializations property

* Add check-req-json workflow job (#628)

* Add check-req-json workflow job

* Fix req-json discrepancy

* Split up npm install and npm run req-gen

* [easy] Fix AP/IB old infra bug for multiple equivalent courses (#631)

* fix bug

* fix object set

* Remove hardcoded dropdown start year to fix new year Cypress bug (#629)

* Make start year code common and use in cypress instead of hardcoding 2015

* Turn getYearRange into constant and clarify comment

* Fix lint

* Switch to new AP/IB infra (#627)

* Switch to new AP/IB infra

* rename no fulfillments course id

* req-gen

* fix lint

* Update CS major (#626)

* add CHEM 2080 requirement and CS 4414

* prettier?

* did it update

* what about now

* now?

* hi will

* address nit and package lock changes

* run req gen

Co-authored-by: Will Spencer <will.e.spencer@gmail.com>

* Fix HE credits double counting and DEA statistics req (#630)

* Add script for migrating old subject colors to new subject colors (#614)

* add color migration script

* use if-else instead of switch

* reuse switch with hasOwnProperty

* lint

* delete console log

* Run on subjectColorsCollection instead of usernameCollection

Co-authored-by: Benjamin Shen <bfs45@cornell.edu>

* remove usernaemCollection import

Co-authored-by: Hahnbee Lee <55263191+hahnbeelee@users.noreply.github.com>
Co-authored-by: Benjamin Shen <bfs45@cornell.edu>
Co-authored-by: Hahnbee Lee <hl985@cornell.edu>

* Dashboard entrypoint (#616)

* add icons

* navbar design

* add tools page

* mobile responsiveness

* address nits

* add feature flag + mobile plan icon

* prettier

Co-authored-by: Hahnbee Lee <hl985@cornell.edu>

* Deprecate old ap/ib infra (#632)

* deprecate old ap/ib infra

* fix lint

* fix tests

* add ap/ib exam id tests (#635)

* Fix swim test bugs (#637)

* change unique id from -1 to 'swim test'

* change swim test requirement

* refactor and fix deleteTransferCredit

* unbreak requirement id test

* Refactor constraint violations (#633)

* refactor constraint violations

* format

* add object structuring to removeIllegalEdges

* remove null return type

* modify allowDoubleCounting function to be more accurate

* Revert "modify allowDoubleCounting function to be more accurate"

This reverts commit 03f3840.

* change double counting perspective

* polish requirementsThatDoNotAllowDoubleCounting

* fix lint

* fix double counting constraint, polish constraint violation function

* preserve requirement order

* small fixes

* fix lint

* remove minor auto double counting

* address code comments

* rename

* fix test

* fix courseToRequirementsInConstraintViolations

* remove console log

* Fix requirements double counting (#638)

* fix bugs

* remove console log

* format

* fix arg order

* fix add modal opt out

* refactor dummy uniqueid

* refactor to getRelatedUnfulfilledRequirements

* move opt out filter to opt out function

* automatically fulfilled requirements

* add comment

* opt out of all requirements possibly in constraint violation

* add minor-grad restriction for double counting

Co-authored-by: Sam Zhou <sam@developersam.com>
Co-authored-by: Will Spencer <will.e.spencer@gmail.com>
Co-authored-by: zachary0kent <73757337+zachary0kent@users.noreply.github.com>
Co-authored-by: Aryan Yadav <yadavaryan424@gmail.com>
Co-authored-by: Toby (Ju Mong) Ko <jk2299@cornell.edu>
Co-authored-by: ein <ein.chang@gmail.com>
Co-authored-by: Hahnbee Lee <55263191+hahnbeelee@users.noreply.github.com>
Co-authored-by: Hahnbee Lee <hl985@cornell.edu>

* Revert "Spring 2023 Pre-Enroll Release"

* Revert "Revert "Spring 2023 Pre-Enroll Release""

* SP24 Multiple Plans Release (#901)

* updated contributors page (#890)

* chore: added engrc 3027 as valid engrc (#891)

* Add ENGRC 3025 as Engineering Communications (#900)

* add engrc 3025

* run req-gen

* multiple plans! (#877)

* refactor whole codebase to plans instead of semesters

* add functions that disappeared after merge

* Implemented multiple plans feature flag and added add plan button

* Multiple plans dropdown (#806)

* Implement dropdown frontend

- Add dropdown component
- Add cypress tests for open/close states.

* Add changing arrow direction

* Change plan when clicked

* Run checks

* Enable feature flag before running test

* Fix arrow resizing problem and address Zak changes

* Change colors to set colors, try to fix test

* Tests working + remove feature flag for time being

* Finally passing the cypress tests <33

* Hover state cursor -> pointer

* Refactor css into scss

* Add scss file lol

* migration script for multiple plans in firebase (#817)

* migration script for multiple plans in firebase

* Move Plan type to Migration Script

* Multiple plans functions (#816)

* Implement dropdown frontend

- Add dropdown component
- Add cypress tests for open/close states.

* Add changing arrow direction

* Change plan when clicked

* Run checks

* Enable feature flag before running test

* Fix arrow resizing problem and address Zak changes

* Change colors to set colors, try to fix test

* Tests working + remove feature flag for time being

* Finally passing the cypress tests <33

* Hover state cursor -> pointer

* Refactor css into scss

* Add scss file lol

* Implement Vuex and Firestore functions

* Update src/global-firestore-data/user-semesters.ts

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

* Update src/global-firestore-data/user-semesters.ts

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

* Update src/global-firestore-data/user-semesters.ts

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

* Update src/store.ts

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

* Run format

* Add computed property for plans and currentplan

---------

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

* Implement frontend for all modals to add, delete and edit plans.

* Run npm format

* call firestore functions for add blank plan

* Fix type issue in teleport modal

* fix issue with adding 2nd new plan

* add plan type

* add getter for current plan's semesters

* missed one use of getter

* delete duplicate functions

* multiple plans is multiple planning??

* confirmation modal when plans are added/deleted/edited

* fix bug to display correct plan

* cypress tests

* address edge cases in multiple plans (#895)

* Implemented multiple plans feature flag and added add plan button

* Multiple plans dropdown (#806)

* Implement dropdown frontend

- Add dropdown component
- Add cypress tests for open/close states.

* Add changing arrow direction

* Change plan when clicked

* Run checks

* Enable feature flag before running test

* Fix arrow resizing problem and address Zak changes

* Change colors to set colors, try to fix test

* Tests working + remove feature flag for time being

* Finally passing the cypress tests <33

* Hover state cursor -> pointer

* Refactor css into scss

* Add scss file lol

* migration script for multiple plans in firebase (#817)

* migration script for multiple plans in firebase

* Move Plan type to Migration Script

* Multiple plans functions (#816)

* Implement dropdown frontend

- Add dropdown component
- Add cypress tests for open/close states.

* Add changing arrow direction

* Change plan when clicked

* Run checks

* Enable feature flag before running test

* Fix arrow resizing problem and address Zak changes

* Change colors to set colors, try to fix test

* Tests working + remove feature flag for time being

* Finally passing the cypress tests <33

* Hover state cursor -> pointer

* Refactor css into scss

* Add scss file lol

* Implement Vuex and Firestore functions

* Update src/global-firestore-data/user-semesters.ts

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

* Update src/global-firestore-data/user-semesters.ts

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

* Update src/global-firestore-data/user-semesters.ts

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

* Update src/store.ts

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

* Run format

* Add computed property for plans and currentplan

---------

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

* Implement frontend for all modals to add, delete and edit plans.

* Run npm format

* call firestore functions for add blank plan

* Fix type issue in teleport modal

* fix issue with adding 2nd new plan

* refactor whole codebase to plans instead of semesters

* add functions that disappeared after merge

* add plan type

* add getter for current plan's semesters

* missed one use of getter

* delete duplicate functions

* multiple plans is multiple planning??

* confirmation modal when plans are added/deleted/edited

* fix bug to display correct plan

* cypress tests

* address edge cases in multiple plans

* disable buttons

* frontend fixes

* frontend fix again

* tour + refactoring

* Revert "frontend fixes"

This reverts commit 2e66263.

* Revert "tour + refactoring"

This reverts commit 49ee18d.

* change button radius

* refactoring again

* silly format fix

* frontend fixes

* auto name for copy

* sawNewFeature migration

* tour!

* firebase changes

* slay? only appear once?

* address edge cases in multiple plans

* disable buttons

* frontend fixes

* frontend fix again

* tour + refactoring

* Revert "frontend fixes"

This reverts commit 2e66263.

* Revert "tour + refactoring"

This reverts commit 49ee18d.

* change button radius

* refactoring again

* silly format fix

* frontend fixes

* auto name for copy

* sawNewFeature migration

* tour!

* firebase changes

* slay? only appear once?

* cypress

---------

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

* get rid of console

* copy name

* fix

* fix

---------

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

* recompute reqs (#902)

* add Viticulture and Enology major (#896)

* added vien.ts file and import statements

* imported vien to index

* Added Physical Science Core for major

* added chemistry requirement

* fixed physical science core requirements logic

* added Statistics requirement

* added Plant Science Requirement and fixed name for Statistics

* Add Viticulture & Encology Core

* Add Major Electives w/ description

* Add descriptions and Advisor

* fixed logic

* fixed order by (#903)

* fixed order by

* delete console

---------

Co-authored-by: Hannah Zhou <91917682+plumshum@users.noreply.github.com>
Co-authored-by: Simon Ilincev <simon@simonilincev.com>
Co-authored-by: Andrew Xu <53061040+andxu282@users.noreply.github.com>
Co-authored-by: zachary0kent <73757337+zachary0kent@users.noreply.github.com>
Co-authored-by: andxu282 <ajx8@cornell.edu>

---------

Co-authored-by: Will Spencer <will.e.spencer@gmail.com>
Co-authored-by: Theresa Cho <54298311+tcho6319@users.noreply.github.com>
Co-authored-by: Sam Zhou <sam@developersam.com>
Co-authored-by: Hahnbee Lee <55263191+hahnbeelee@users.noreply.github.com>
Co-authored-by: Benjamin Shen <bfs45@cornell.edu>
Co-authored-by: Jason Tung <jt568@cornell.edu>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vaishnavi Gupta <vg222@cornell.edu>
Co-authored-by: neketka <neketka@gmail.com>
Co-authored-by: einc <ein.chang@gmail.com>
Co-authored-by: zachary0kent <73757337+zachary0kent@users.noreply.github.com>
Co-authored-by: Aryan Yadav <yadavaryan424@gmail.com>
Co-authored-by: Toby (Ju Mong) Ko <jk2299@cornell.edu>
Co-authored-by: Hahnbee Lee <hl985@cornell.edu>
Co-authored-by: Noah Schiff <47431797+noschiff@users.noreply.github.com>
Co-authored-by: Zak Kent <zak33@cornell.edu>
Co-authored-by: Zak Kent <73757337+zachary-kent@users.noreply.github.com>
Co-authored-by: Andrew Xu <53061040+andxu282@users.noreply.github.com>
Co-authored-by: Hannah Zhou <91917682+plumshum@users.noreply.github.com>
Co-authored-by: Simon Ilincev <simon@simonilincev.com>
Co-authored-by: andxu282 <ajx8@cornell.edu>
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.

None yet

3 participants