kir-dev / kir-dev/StartSCH

Exam calendar

Open
#20 0 comments 0 reactions 0 assignees View on GitHub
epic
Dominant language
C#
Stars
6
Forks
2
Avg merge
3d 8h
Merged PRs (30d)
4

Description

https://vik.hk has .ics calendars for exams. We should import these, and allow users to enable the ones that are relevant to them. This would make the exams appear in the user's custom .ics URL.

The user should be able to set custom reminder times, which would apply to every event.

## Issue: irrelevant and missing exams
One issue with this, is that especially for later semesters, what subjects a student is studying will probably not match the recommended subjects for the semester, thereby necessitating further customisation.

We could automate this by retrieving subjects the student is currently studyig, and only show exams for those. This creates two problems:

### Retrieving subjects
1. AuthSCH can return these subjects, but this requires the `bme.hu:niifPersonAttendedCourse` scope, which is not available by default.
2. We could extract the subjects from the user's Neptun .ics URL.

### Matching exam times to subjects
The vik.hk calendars use unpredicable abbreviated names for the subjects, which would require manual mapping.

The exam times can also be found at https://vik.bme.hu/page/1150/, but in .pdf form.

We could either ask HK or VIK for something machine-readable, that includes the subject ID and a user-friendly name or parse the PDFs (?).

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by comparing the vik.hk .ics calendars, the vik.bme.hu exam PDFs, the Neptun .ics URL, and the AuthSCH subject scope described in the issue. Done should cover importing exams, enabling relevant calendars, applying custom reminder times, and producing them in the user's custom .ics URL, with a decided approach for matching subjects.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.