devsoc-unsw / devsoc-unsw/notangles

[Rewrite-Frontend]: Connecting auto-timetable with backend

Open
#1,087 1 comment 0 reactions 0 assignees View on GitHub
👨🏻‍💻 dev 💻
Dominant language
TypeScript
Stars
79
Forks
9
PR merge metrics
No merged PRs in 30d

Description

## Things to implement
- route to connect frontend `Autotimetabler` with params
```typescript
const autoParams: (string | number)[] = [
startHour: number,
endHour: number,
selectedDaysStr: string,
breaksBetweenClasses: number,
daysAtUni: number
mode: enum ['hybrid', 'in person', 'online'] # adding
];
```
## Steps of data transfer
1. fronted send the constraint params and timetable_id to backend
2. backend get the selected Course Id from the timetable_id
3. backend call the graphql to get all the classes on each course
4. backend parse the class data into format for auto-timetable
5. backend request doAuto
6. backend get back the response
7. backend parse the response and update course in one transaction
8. backend return to frontend OK to invalidate the react query

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the frontend Autotimetabler and trace the React Query request into the backend route, then follow the GraphQL class lookup and doAuto call. The work is done when the constraint parameters and timetable_id travel through the listed steps, course data is updated in one transaction, and the frontend receives OK to invalidate the React Query result.

Written by the indexing model from the issue text.

Assessment

Tech stack
graphql, react, typescript
Domain
api, full-stack
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.