/
T1W1 - Director Minutes- 18 Feb

T1W1 - Director Minutes- 18 Feb

Aim:

  • Figure out what the state of the migration is

  • Figure out what tasks to assign

    • Create appropriate tickets / sprint

 

Tasks for team

  • https://csesoc.atlassian.net/browse/CIRCLES-347

    • Make the migration

    • Write tests

    • Refactor Frontend to be compatible

  • Deprecate coursesSlice.

    • Is used for knowing what courses are unlocked; See the left-hand menu bar in courses-selector page. Should just make a call for getAllUnlocked from the BE instead, since that gets called quite frequently anyways (anytime you make a planner change).

    • Check for other dependencies on the courses redux state - e.g. CourseInfoDrawers.tsx, ResetModal.tsx

    • Merge into dev not the migration branch

  • Change fixUserData to map a dbUser to an algoUser for condition checking

  • when replacing the frontend reducers use /data/{token} route from routes/users.py to get the user representation back from the backend instead of useSelector calls

  • dark mode

    • text on course capacity

    • degree selector text

  • planner cart not on side menu

  • add modal for toggling summer term to see whether user wants to unschedule all those courses or not

FE Slices

coursesSlice - change really needed?
setCourses - not required to be in user data
setCourse - not used
resetCourses
courseTabsSlice - CONSTANT
degreeSlice - Changes made on BE should also be reflected in FE somehow. Also check out /backend/algorithms/objects/user.py to see a potential model of what’s changing
setProgram [In progress] - Christian
addSpecialisation
removeSpecialisation
setIsComplete [In progress] - Christian
resetDegree [In progress] - Christian
  • plannerSlice

    • addToUnplanned

      • planner.py /addToUnplanned

    • toggleWarnings

      • user.py /toggleWarnings

      • fe only - BE always shoudl send warnings - FE chooses whether or not to show

    • setUnplannedCourseToTerm

      • planner.py /unPlannedToTerm

    • setPlannedCourseToTerm

      • planner.py /plannedToTerm

    • moveCourse

      • NOT USED

      • No implementation on the BE yet.

    • updateCourseMark

      • user.py /updateCourseMark

      • needs FE return - check use

    • updateLegacyOfferings

      • NOT USED

    • removeCourse

      • planner.py /removeCourse

    • removeCourses

      • slight duplication of removeCourse except removes a select group of courses → replace as well with planner.py /removeCourse

    • removeAllCourses

      • planner.py /removeAll

    • unschedule

      • planner.py /unscheduleCourse

    • unscheduleAll

      • planner.py /unscheduleAll

    • toggleSummer

      • user.py /toggleSummerTerm

      • The slice currently unplans all summer terms too. Ideally, we would not do this.

      • There needs to be a piece of state on the frontend to show if summer terms are being displayed or not. Then, when the user toggles summer terms being shown, they should get a modal asking if they would also like to unplan the summer courses / remove them from the planner

    • toggleTermComplete

      • FE Only

    • updateStartYear

      • user.py /updateStartYear

    • updateDegreeLength

      • see /user.py/update_degree_length - Doesn’t return anything back to FE

    • hideYear

      • FE Only

    • unhideAllYears

      • FE Only Option

  • settingsSlice - STAYS CONSTANT

TODO for future work

  • refactor routes to move logic out of them

  • good dummy token - for testing a user

  • move stuff out into ENV files (mainly client_id)

    • ClientID should also be set up as a part of CSESoc’s account. Right now, Hussain’s private account is the client.

  • Translation between User in algorithms and User representation in the DB or the routers

@Leonardo Fan to add Jira tickets

Related content

UNSW CSESoc