Skip to content

Latest commit

 

History

History
50 lines (32 loc) · 2.5 KB

README.md

File metadata and controls

50 lines (32 loc) · 2.5 KB

Moodle study calendar: all course deadlines in one Windows app

Moodle study calendar

A small Windows app that signs in to the RISEBA e-studies site (Moodle, e.riseba.lv), collects every course's assignments, tests and exams, and shows all deadlines in one place: an overview, a list per course and a calendar. The interface is in Latvian.

This is a personal project. It is not an official RISEBA product and is not affiliated with the university.

Overview screen with fictional demo data

What it does

  • Signs in inside the app with your e-studies username and password.
  • Loads each semester separately and keeps earlier semesters for reference.
  • Shows deadlines by date. A task counts as done when Moodle shows a grade or a submitted assignment.
  • Flags what the Moodle calendar alone would miss: tasks with no deadline and dates that look like a typo.
  • Refreshes the data by itself while it is open.
  • Every task title links to its page in Moodle.

Privacy

  • The password is never stored. It is sent only to e.riseba.lv and exchanged for an access token.
  • The token is encrypted with the Windows user account (DPAPI) and kept in %LOCALAPPDATA%\StudijuKalendars\secret.bin, separate from the page.
  • Courses, deadlines and grades stay on this computer. The app talks only to e.riseba.lv and opens external links only on that site.
  • The repository contains no real data: the demo data and screenshots are fictional.

How it works

  • index.html is the whole app in one file: layout, texts and the Moodle web service calls. It also works in a browser.
  • desktop/ is a thin Windows shell (C#, .NET 10, Windows Forms + WebView2). It embeds the page, gives it its own storage and encrypts the token.
  • desktop/installer/ is the Inno Setup script for a per-user installer that needs no admin rights.
  • dokumenti/ holds a short user guide for classmates (Latvian, Word and PDF) and the scripts that built it.
  • DECISIONS.md is the decision log: what was chosen, what was dropped and why (Latvian).

Build

Requires the .NET 10 SDK; the installer also needs Inno Setup 6.

  • desktop\build.bat builds desktop\publish\StudijuKalendars.exe (needs the .NET 10 Desktop runtime).
  • desktop\build-installer.bat builds a self-contained installer in desktop\installer\output\.

Rebuild after any change to index.html.

Third-party components

.NET runtime (MIT), Microsoft WebView2 (Microsoft licence), Inno Setup (Inno Setup licence).

License

MIT, see LICENSE.