Skip to content

Knowit-Objectnet/infoskjerm-trondheim

Repository files navigation

Infoskjerm for Trondheimkontoret

Infoskjerm for Trondheimkontoret, skrive i Rust, med Slint.

Kom i gang!

Kildekoden ligg i src-mappa. main.rs inneheld entrypoint for applikasjonen. Undermapper med ein mod.rs-fil er moduler for ulik funksjonalitet.

GUIet er laga med DSL'en Slint, og ligg i ui-mappa. mainwindow.slint eksponerar in properties som blir tilgjengelige fra Rust-koden med setters. F.eks:
in property <string> month: "jan"; eksponerar set_month(string: SharedString), og har "jan" som defaultverdi.

SharedString er ein spesiell type String brukt av Slint, og lagast ved å kalle .into()&str og Strings. Strengar er litt rare i Rust. Sjå gjerne denne.

GUI-koden eksponerar også typar, som Forecast-structen i weatherwidget.slint. Denne blir også tilgjengelig i Rust-koden gjennom ui-modulen.

Implementert funksjonalitet

  • XKCD
  • Vær
  • Klokke og dato
  • Matsporing via Wolt
  • Busstider
  • Aktivitetskalender

Idear til funksjonalitet

  • Møteromsstatus
  • Matsporing fra Foodora
  • AI assistent: For *GPT med data og kontekst, dato, kalender, vær etc etc og be den gi råd for morgendagen eller lignende.
  • Bursdager 🎉
  • Dagens visdomsord/quote
  • Nyhende / overskrifter
  • Countdown til neste seminar
  • Andre comics?

Andre tanker

  • Koderydding
  • Feilhåndtering
  • Fikse minnelekkasje?

Vedlikehold

Oppdater skjema-definisjoner fra EnTurs API.

graphql-client introspect-schema "https://api.entur.io/journey-planner/v3/graphql" --output "src/resources/journey-planner_schema.json"