Skip to content

Learnings from the E-pyöräilyn SM-kisat Results Service Project

1. Google Sheets -integraation hyödyntäminen

  • Opin, miten Google Sheets voidaan yhdistää Python-sovellukseen gspread-kirjaston ja palvelutilin avulla.
  • Ymmärsin, kuinka Sheets toimii kevyenä tietovarastona, jota voidaan päivittää ja korjata manuaalisesti ilman monimutkaista backend-palvelua.
  • Sheetsin reaaliaikainen päivittyminen mahdollisti lähes live-tulospalvelun toteutuksen.

2. Streamlitin käyttö modernin frontin rakentamiseen

  • Sain kokemusta Streamlitin käytöstä nopean ja responsiivisen web-käyttöliittymän rakentamisessa.
  • Opin hyödyntämään Streamlitin ominaisuuksia, kuten automaattista päivitysintervallia (streamlit-autorefresh) ja dynaamisia valintakomponentteja (kilpailu/sarja).
  • CSS:n avulla pystyin parantamaan käyttöliittymän ulkoasua ja käytettävyyttä.

3. Käytettävyyden ja saavutettavuuden huomiointi

  • Käyttöliittymän yksinkertaisuus ja selkeys olivat tärkeitä, jotta käyttäjät löysivät oikeat tulokset helposti.
  • Valintatoimintojen (kilpailu, sarja) avulla käyttäjä pystyi suodattamaan tietoa tehokkaasti.

4. Joustavuus ja ylläpidettävyys

  • Ratkaisu oli helposti muokattavissa tulevia tapahtumia varten: Sheetin ID:n ja rakenteen vaihtaminen riitti.
  • Opin, että yksinkertainen arkkitehtuuri (ei erillistä backendia) voi olla tehokas ja helposti ylläpidettävä pienemmissä projekteissa.

5. Yleisön tavoittaminen ja vaikutus

  • Yli 400 uniikkia kävijää osoitti, että kevytkin ratkaisu voi palvella laajaa käyttäjäkuntaa luotettavasti.

Suurempi kuva – Mihin opit liittyvät?

Tämän projektin opit liittyvät laajemmin digitalisaation ja ohjelmistokehityksen trendeihin: - Kevyillä, ketterillä ja helposti ylläpidettävillä ratkaisuilla voidaan tuottaa merkittävää hyötyä nopeasti, ilman raskasta IT-infrastruktuuria. - Low-code/No-code-tyyliset työkalut (kuten Google Sheets ja Streamlit) mahdollistavat nopean kehityksen ja madaltavat digitalisaation kynnystä. - Reaaliaikaisen tiedon jakaminen ja käyttäjälähtöinen suunnittelu ovat yhä tärkeämpiä monilla aloilla. - Joustavuus ja helppo muokattavuus tukevat jatkuvaa kehitystä ja DevOps-ajattelua.

Nämä opit ovat sovellettavissa laajasti erilaisissa projekteissa ja organisaatioissa.


Secrets-tiedoston turvallinen käyttö Streamlitissä

Ymmärsin, kuinka tärkeää on säilyttää salaiset avaimet ja tunnistetiedot turvallisesti projektissa. Streamlitin .streamlit/secrets.toml-tiedostoa käyttämällä: - Voin tallentaa esimerkiksi Google Sheets -palvelutilin avaimet pois näkyvistä koodista. - Secrets-tiedosto lisätään aina .gitignore-tiedostoon, jolloin se ei päädy versionhallintaan tai julkisiin repoihin. - Sovellus voi hakea salaiset tiedot turvallisesti st.secrets-rajapinnan kautta ilman, että ne paljastuvat muille käyttäjille tai kehittäjille.

Tämä käytäntö suojaa arkaluontoisia tietoja ja on olennainen osa turvallista ohjelmistokehitystä.