Activity

mtthsschrbr

Shipped this project!

Hours: 8.08
Cookies: 🍪 140
Multiplier: 17.27 cookies/hr

Hey, in this project I’ve tried to make a well-working client for the software I need to use anyway, so that I can at least make a good UI for the data.

Anyway, I hope you like it. Give me some feedback if you’ve got some time!

I hope this project sails smoothly.

mtthsschrbr

Updates & Improvements

Hey! Over the past few days I added some key QoL and UI features:

  • Last login persistence with autofill support (see implementation details below)
  • Navigation header implementation

Implementation details

The username and school number are stored using file-based caching
(implementation here).

The password, however, is stored using go-keyring, which saves it in your OS-native keychain.


Why use the keychain?

In short: security.

Although the password is accessible to the application without manual decryption, the OS keychain itself is:

  • Encrypted at rest by default
  • Only unlocked when you’re logged into your OS
  • Protected from offline access (e.g. someone copying your hard drive)

So instead of writing the password to a plain file, the keychain ensures that someone who physically obtains your disk can’t simply read credentials, while still keeping login seamless for the user.

Attachment
Attachment
0
mtthsschrbr

Hey, not much to report, just developing small things, added an interface between the ui and the api, basically the UI gets a pointer to the object and can then load content dynamically.

I also integrated i18n for locales, so that the app works in english and german 🥳.

Attachment
Attachment
0
mtthsschrbr

Just a few small improvements and features:

  • map reload bug (when user left the map page it would unload)
  • reliable marker positioning on load
  • ui fixes
  • settings tab works
  • multiple icon libarys (material and fa6)
Attachment
0
mtthsschrbr

added missing tabs (settings and notifications)

Attachment
0
mtthsschrbr

Base log, I just implemented the core mechanics till now, but more coming soon

Attachment
0