Calgebra
A CLI tool to sync Algebra Bernays University's student schedule to iCalendar format
Description
Calgebra is a command-line utility that helps Algebra University College students export their class schedule to the iCalendar (.ics) format. This allows students to import their academic schedule into various calendar applications like Google Calendar, Apple Calendar, or Microsoft Outlook.
Features
- Secure login to Algebra's Infoeduka portal
- Fetches scheduled classes
- Converts schedule entries to iCalendar format
- Generates a standard .ics file with:
- Class type and subject
- Start and end times
- Location (classroom)
- Instructor information
- Duration details
Installation & Usage
Prerequisites
- Deno runtime installed on your system
Installation
git clone https://github.com/dpskvn/calgebra.git
cd calgebra
Running the Tool
deno run --allow-net --allow-write main.ts
The program will:
- Prompt for your Algebra student credentials
- Connect to the student portal
- Fetch your schedule
- Generate an
algebra-schedule.ics
file in the current directory
Creating a Standalone Executable
deno compile --allow-net --allow-write main.ts
This will provide you with a standalone executable for your platform.
Technical Details
File Structure
calgebra/
├── main.ts # Main application logic
├── main_test.ts # Tests for the main application
├── date.ts # Date parsing and formatting utilities
├── date_test.ts # Tests for date parsing and formatting
└── README.md
API Endpoints Used
- Login:
https://student.algebra.hr/digitalnareferada/api/login
- Schedule:
https://student.algebra.hr/digitalnareferada/api/student/raspored/tjedni
Security
- Passwords are securely prompted and not stored
- Credentials are only used for authentication with Algebra's servers
- No data is sent to third-party services
Contributing & License
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
You can run tests with:
deno test
This project is licensed under the MIT License.
Acknowledgments & Disclaimer
Acknowledgments
- Thanks to Algebra Bernays University for providing the (undocumented) API
- Built with Deno
Disclaimer
This is an unofficial tool and is not affiliated with Algebra Bernays University. Use at your own risk.