devsoc-unsw / devsoc-unsw/notangles

[Rewrite-Backend]: Adding ICS download functionality

Open
#1,164 0 comments 0 reactions 0 assignees View on GitHub
👨🏻‍💻 dev 💻
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).

Image

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.