-
Notifications
You must be signed in to change notification settings - Fork 11
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
[Schedule Generator] Add Requirements #905
Merged
Merged
Conversation
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
[diff-counting] Significant lines: 623. |
Visit the preview URL for this PR (updated for commit 5c03add): https://cornelldti-courseplan-dev--pr905-andrew-requirements-uxhfmtdb.web.app (expires Thu, 16 May 2024 16:39:15 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: 6d4e0437c4559ed895272bbd63991394f1e0e933 |
andxu282
force-pushed
the
andrew--requirements
branch
from
March 28, 2024 21:00
b8c2270
to
fd673e0
Compare
* frontend for requirement courses * type fix
andxu282
added a commit
that referenced
this pull request
May 2, 2024
* add requirements component * fix dropdown * fixed dropdowns * fixed dropdowns * fixed dropdowns * fix lint * clean up styling * frontend for requirement courses (#914) * frontend for requirement courses * type fix * documentation --------- Co-authored-by: elizabeth-tang <43019442+elizabeth-tang@users.noreply.github.com>
andxu282
added a commit
that referenced
this pull request
May 2, 2024
* added blue icon, need to adjust centering and add grey icon * Added grey icon, still need to adjust text centering and new width? * Formatting * feature flag schedule generator * added blue icon, need to adjust centering and add grey icon * Added grey icon, still need to adjust text centering and new width? * Formatting * Changed icon title to Generate, tried to fix spacing * Centered icon with Builder Label * Added mobile sched builder icon, fixed formatting and centering * Changed profile icon label in mobile * removed cypress * Create header component for scheduler side panel (#880) * chore: create schedule sidebar panel header * style: also define appearance property in SchedulerPanelHeader.vue for compatability * docs: add inline docs to SchedulerPanelHeader * link icon w/header * link icon w/header * fix: style schedule-gen sidebar background and padding --------- Co-authored-by: Andrew J Xu <ajx8@cornell.edu> * chore: create schedule sidebar panel header * style: also define appearance property in SchedulerPanelHeader.vue for compatability * docs: add inline docs to SchedulerPanelHeader * link icon w/header * Run Courses Script for FA23 (#856) * Run courses script for FA23 * Fix CS 1110 Frontend Test Corrects the CS 1110 frontend test with the new course title * Spring 2024 courses script (#864) * add header * fix header * fix header * move into folder * fix full-courses * link modal to schedule builder icon * modal * modal clickable * type fix and rename * rename * rename * [Schedule Generator] Courses Component (#893) * link icon w/header * fix: style schedule-gen sidebar background and padding * add schedules and courses sections * fix indent * chore: flesh out component for LHS of schedgen modal * fix * fix modal * fixes * fix --------- Co-authored-by: Simon Ilincev <trilogicworlds@gmail.com> * [Schedule Generator] Schedules Component (#904) * add schedules and courses sections * fix indent * chore: flesh out component for LHS of schedgen modal * fixes * schedule * refactoring * calculate minutes and labels * fix lint --------- Co-authored-by: Simon Ilincev <trilogicworlds@gmail.com> * Schedule Generator Algorithm: V1 (#909) * chore: rewrite basic java algorithm impl in ts * chore: create output format for algorithm * chore: update course-scheduling algorithm to use timeslots and 15-min gaps * "fix" 😈: get rid of ugly java-style syntax also checkpoint: progress towards dealing with days of the week & labs * refactor internal algorithm logic, improve pretty-print, handle days of the week * docs: add docs for new folder --------- Co-authored-by: Simon Ilincev <trilogicworlds@gmail.com> * [Schedule Generator] Add Requirements (#905) * add requirements component * fix dropdown * fixed dropdowns * fixed dropdowns * fixed dropdowns * fix lint * clean up styling * frontend for requirement courses (#914) * frontend for requirement courses * type fix * documentation --------- Co-authored-by: elizabeth-tang <43019442+elizabeth-tang@users.noreply.github.com> * [Schedule Generator] Schedule Fixes (#913) * fix course height and flex box * fixes * [Schedule Generator] Read in Requirements (#918) * read in reqs * linting * fix linting * fix adding courses * documentation * add as many reqs as possible * Support schedule downloading + pagination in schedgen modal (#919) * add schedules and courses sections * fix indent * chore: flesh out component for LHS of schedgen modal * refactoring * create pdf schedule generator with table + headers + credits to work on: wrong data, calendar thingie * support passing around data into pdf schedule download now just missing calendar also need to fix formatting in download * hotfix overflow issue by shortening req names * fix typo * chore: add in docs for the new pdf schedule downloader * migrate styles from figma * almost fully styled / laid out just missing right-aligned download button * right-align download button * merge conflict fixes * revert changes * fixed download --------- Co-authored-by: Andrew J Xu <ajx8@cornell.edu> * comments * courses from user input show up on modal, schedule info passed into modal for gen request * log generated schedule * added random time generator for testing, logs schedule correctly * adjusted algorithm, mapped generated schedule to frontend * colors match on mapped sched q * changed testing * add reqs to top of list * side of modal is updated with course count / total credits * quick fixes * connected courses to fa24 firestore meeting times/patterns * fully connect sidebar to schedule * rename pdf output * finally integrate download pdf, but algo only ever returns one course * fix algo by correcting type parameters * fix overlap calculation and button size * add algo improvement note * FA24 Courses JSON (#924) * courses json * reqs * semi-working one course max per req * fix: always try to fulfill 1+ req for each * [Schedule Generator] Frontend Fixes (#925) * disable generate * Generating... when generating schedule and fix max hour bug * lint * cleanup * credit limit and overflow * courses overflow * change warning * fix fonts * padding and font fix * cleanup --------- Co-authored-by: Nidhi Mylavarapu <nidhi.mylavarapu@gmail.com> * [Schedule Generator] Filter courses by latest semester / requirement (#926) * started req/sem filtering logic * undo changes * fixes * filter courses by sem from json * read sem courses only * lint * lint * fix: only show unique courses in requirement groups * adjusted for courses without meeting times * cleanup * add no requirement * fix test.spec.ts * lint --------- Co-authored-by: andxu282 <ajx8@cornell.edu> Co-authored-by: Simon Ilincev <trilogicworlds@gmail.com> * fixes * import issue * lint * update ScheduleGenerate dir * prettier * update courses * reqs --------- Co-authored-by: Nidhi Mylavarapu <nidhi.mylavarapu@gmail.com> Co-authored-by: Simon Ilincev <simon@simonilincev.com> Co-authored-by: Simon Ilincev <trilogicworlds@gmail.com> Co-authored-by: Zak Kent <73757337+zachary-kent@users.noreply.github.com> Co-authored-by: Nidhi Mylavarapu <73746818+nidhi-mylavarapu@users.noreply.github.com> Co-authored-by: elizabeth-tang <43019442+elizabeth-tang@users.noreply.github.com>
elizabeth-tang
added a commit
that referenced
this pull request
May 4, 2024
* added blue icon, need to adjust centering and add grey icon * Added grey icon, still need to adjust text centering and new width? * Formatting * feature flag schedule generator * added blue icon, need to adjust centering and add grey icon * Added grey icon, still need to adjust text centering and new width? * Formatting * Changed icon title to Generate, tried to fix spacing * Centered icon with Builder Label * Added mobile sched builder icon, fixed formatting and centering * Changed profile icon label in mobile * removed cypress * Create header component for scheduler side panel (#880) * chore: create schedule sidebar panel header * style: also define appearance property in SchedulerPanelHeader.vue for compatability * docs: add inline docs to SchedulerPanelHeader * link icon w/header * link icon w/header * fix: style schedule-gen sidebar background and padding --------- Co-authored-by: Andrew J Xu <ajx8@cornell.edu> * chore: create schedule sidebar panel header * style: also define appearance property in SchedulerPanelHeader.vue for compatability * docs: add inline docs to SchedulerPanelHeader * link icon w/header * Run Courses Script for FA23 (#856) * Run courses script for FA23 * Fix CS 1110 Frontend Test Corrects the CS 1110 frontend test with the new course title * Spring 2024 courses script (#864) * add header * fix header * fix header * move into folder * fix full-courses * link modal to schedule builder icon * modal * modal clickable * type fix and rename * rename * rename * [Schedule Generator] Courses Component (#893) * link icon w/header * fix: style schedule-gen sidebar background and padding * add schedules and courses sections * fix indent * chore: flesh out component for LHS of schedgen modal * fix * fix modal * fixes * fix --------- Co-authored-by: Simon Ilincev <trilogicworlds@gmail.com> * [Schedule Generator] Schedules Component (#904) * add schedules and courses sections * fix indent * chore: flesh out component for LHS of schedgen modal * fixes * schedule * refactoring * calculate minutes and labels * fix lint --------- Co-authored-by: Simon Ilincev <trilogicworlds@gmail.com> * Schedule Generator Algorithm: V1 (#909) * chore: rewrite basic java algorithm impl in ts * chore: create output format for algorithm * chore: update course-scheduling algorithm to use timeslots and 15-min gaps * "fix" 😈: get rid of ugly java-style syntax also checkpoint: progress towards dealing with days of the week & labs * refactor internal algorithm logic, improve pretty-print, handle days of the week * docs: add docs for new folder --------- Co-authored-by: Simon Ilincev <trilogicworlds@gmail.com> * [Schedule Generator] Add Requirements (#905) * add requirements component * fix dropdown * fixed dropdowns * fixed dropdowns * fixed dropdowns * fix lint * clean up styling * frontend for requirement courses (#914) * frontend for requirement courses * type fix * documentation --------- Co-authored-by: elizabeth-tang <43019442+elizabeth-tang@users.noreply.github.com> * [Schedule Generator] Schedule Fixes (#913) * fix course height and flex box * fixes * [Schedule Generator] Read in Requirements (#918) * read in reqs * linting * fix linting * fix adding courses * documentation * add as many reqs as possible * Support schedule downloading + pagination in schedgen modal (#919) * add schedules and courses sections * fix indent * chore: flesh out component for LHS of schedgen modal * refactoring * create pdf schedule generator with table + headers + credits to work on: wrong data, calendar thingie * support passing around data into pdf schedule download now just missing calendar also need to fix formatting in download * hotfix overflow issue by shortening req names * fix typo * chore: add in docs for the new pdf schedule downloader * migrate styles from figma * almost fully styled / laid out just missing right-aligned download button * right-align download button * merge conflict fixes * revert changes * fixed download --------- Co-authored-by: Andrew J Xu <ajx8@cornell.edu> * comments * courses from user input show up on modal, schedule info passed into modal for gen request * log generated schedule * added random time generator for testing, logs schedule correctly * adjusted algorithm, mapped generated schedule to frontend * colors match on mapped sched q * changed testing * add reqs to top of list * side of modal is updated with course count / total credits * quick fixes * connected courses to fa24 firestore meeting times/patterns * fully connect sidebar to schedule * rename pdf output * finally integrate download pdf, but algo only ever returns one course * fix algo by correcting type parameters * fix overlap calculation and button size * add algo improvement note * FA24 Courses JSON (#924) * courses json * reqs * semi-working one course max per req * fix: always try to fulfill 1+ req for each * [Schedule Generator] Frontend Fixes (#925) * disable generate * Generating... when generating schedule and fix max hour bug * lint * cleanup * credit limit and overflow * courses overflow * change warning * fix fonts * padding and font fix * cleanup --------- Co-authored-by: Nidhi Mylavarapu <nidhi.mylavarapu@gmail.com> * [Schedule Generator] Filter courses by latest semester / requirement (#926) * started req/sem filtering logic * undo changes * fixes * filter courses by sem from json * read sem courses only * lint * lint * fix: only show unique courses in requirement groups * adjusted for courses without meeting times * cleanup * add no requirement * fix test.spec.ts * lint --------- Co-authored-by: andxu282 <ajx8@cornell.edu> Co-authored-by: Simon Ilincev <trilogicworlds@gmail.com> * fixes * import issue * lint * update ScheduleGenerate dir * prettier * update courses * reqs --------- Co-authored-by: Nidhi Mylavarapu <nidhi.mylavarapu@gmail.com> Co-authored-by: Simon Ilincev <simon@simonilincev.com> Co-authored-by: Simon Ilincev <trilogicworlds@gmail.com> Co-authored-by: Zak Kent <73757337+zachary-kent@users.noreply.github.com> Co-authored-by: Nidhi Mylavarapu <73746818+nidhi-mylavarapu@users.noreply.github.com> Co-authored-by: elizabeth-tang <43019442+elizabeth-tang@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds the "Requirements" component that allows users to add a requirement and courses that they might want to use to fulfill that requirement. It also does the following calculations to disable the Generate Schedule and +Requirement buttons:
Remaining TODOs:
TODOs for a future PR:
Test Plan
Screen.Recording.2024-03-21.at.5.36.19.PM.mov