📅 Calendar with special events, due dates and week schedule
Exams, projects, events and schedules. Your hub to everything LEI, MEI or even MIEI!
Anything out of place? Give us your feedback using the Suggestions Form!
You can also fix it yourself following our Helping Guide ;)
When contributing to this repository, please first discuss the change you wish to make via discussions, issue, email, or any other method with the owners of this repository before making a change.
Please note we have a Code of Conduct, please follow it in all your interactions with the project.
We have a Contributing Guide to help you getting started.
Here's a quick view of the features you can expect
- Day
- Week
- Month
See only the activities that matter to you
New schedule? New subject? Clear all your choices with one click and start again
Share your schedule or events with another device or with your friends
Export your calendar or schedule to your favorite calendar app
Get updated on the latest changes to the platform and know when new information is added
Customize your calendar view with a choice of themes or create your own!
Choose between beautiful dark and light modes!
Understand how our Export API works, and what you can do with it
There are two endpoints you can work with: /api/export/events
and /api/export/schedule
.
1. /events
This endpoint is responsible for generating a .ics (iCal) file containing events from the "Events" page. It should receive a list of subjects in their short form, similarly to how subjects are displayed in the filters of Calendarium, joined by &
.
Check out this example, where we ask the API to generate a file containing the events from the 2nd year / 2nd semester subjects of LEI:
https://calendario.cesium.di.uminho.pt/api/export/events?BD&IO&MNOnL&POO&RC&SO
Note
Only the events relevant to the current academic year will be exported. A request with wrongly formatted parameters or subjects that don't exist, will be answered with a "400 Invalid Request" error message.
2. /schedule
This endpoint is responsible for generating a .ics (iCal) file containing shifts from the "Schedule" page, which will have a weekly recurrence rule. It should receive a list of subject-shift pairs, joined by &
. Similarly to what happens in /events
, the subject should be represented in its short form. As for the shift, it should be in accordance with the shifts displayed in the filters of Calendarium.
Check out this example, where we ask the API to generate a file containing a possible schedule for the 3rd year / 1st semester of LEI:
https://calendario.cesium.di.uminho.pt/api/export/schedule?CP=T1&CP=TP1&CC=T1&CC=PL1&DSS=T1&DSS=PL1&IA=T1&IA=PL1&LI4=T1&LI4=OT1&SD=T1&SD=PL1
Note
A request with wrongly formatted parameters, or subjects and shifts that don't exist, will be answered with a "400 Invalid Request" error message.
Additionally, it's possible to set an interval in /schedule
for when a schedule should start and end. This means that you can set a start date and an end date which will delimit when the shifts from your schedule will start and stop showing up on your calendar. For this, you can simply use the parameters start
and end
. By default, your schedule will show up on your calendar from the current week onwards, repeating forever.
Check out this example, where we set the above schedule to start on 11/09/2023 and end on 08/08/2024:
https://calendario.cesium.di.uminho.pt/api/export/schedule?CP=T1&CP=TP1&CC=T1&CC=PL1&DSS=T1&DSS=PL1&IA=T1&IA=PL1&LI4=T1&LI4=OT1&SD=T1&SD=PL1&start=2023-09-11&end=2024-08-08
Note that you can define just the start, just the end, both or neither. The parameter you omit will assume the default behaviour.