devsoc-unsw / devsoc-unsw/notangles
[Rewrite-Backend]: Adding ICS download functionality
- Dominant language
- TypeScript
- Stars
- 79
- Forks
- 9
- PR merge metrics
- No merged PRs in 30d
Description
In the rewrite version of Notangles, clicking the button "SAVE TO CALENDAR" makes no effect, so the functionality of adding ICS download logic is necessary to be added, as mentioned in [this place](https://github.com/devsoc-unsw/notangles/blob/frontend-react-query/client/src/components/planner/Planner.tsx#L58).
In the dev branch, this logic is handled by the frontend. Since the precvious states `CourseData, SelectedClasses, CreatedEvents` have been deleted from the frontend in the rewrite, my idea is creating a new file `server/src/timetable/calendar.service.ts` to handle the simiar logic in the backend, other ideas are welcomed! For the implementtion detail, [this file](https://github.com/devsoc-unsw/notangles/blob/dev/client/src/utils/generateICS.ts) can be used as a reference.
Once this feature is completed, #1016 can be closed as well.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the SAVE TO CALENDAR button at client/src/components/planner/Planner.tsx#L58 and compare the previous implementation in client/src/utils/generateICS.ts. Review the rewrite's server structure and determine how a new server/src/timetable/calendar.service.ts would receive the timetable data. Done means the button downloads a valid ICS calendar file, with behavior matching the former frontend functionality.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100