View the Classeviva agenda in an actual calendar app. π
β Star this on GitHub β it motivates me a lot!
- Bun (v1.2.8+ recommended)
- Classeviva account
-
.ics
file support. - Support for GitHub Actions.
- Duplicate the
.env.example
file and rename it to.env
so that your files look like the following:
Classeviva2Cal/
βββ .env.example
βββ .env
βββ .gitignore
βββ README.md
βββ index.ts
βββ tsconfig.json
βββ package.json
βββ bun.lock
- Edit the
.env
file and fill in the required fields:
# ClasseViva Credentials
CLASSEVIVA_USERNAME="S12345678X" <-- EDIT THIS
CLASSEVIVA_PASSWORD="YourPassword" <-- EDIT THIS
# Agenda Fetching Settings
AGENDA_INTERVAL=6 # Number of months to fetch events before and after the current date
- Install the dependencies:
bun install
- Run the script:
bun run index.ts
NOTE: To keep the calendar up-to-date, you will need to run the script periodically. To do this, you can set up a cron job to run the script periodically. For example, to run it every day at 8 AM.
- Subscribe to the generated
.ics
file in your preferred calendar app.
NOTE: You need to make the file available on a web server. To do this, I used Nginx, but you can use any web server you prefer.
If you set up everything correctly, your URL should be something like this:
https://yourbeautifulserver.com/agenda.ics
- Profit! π