Vuonna 2022 toteutettuun uudistusprojektiin lähdettiin, sillä järjestelmän ulkoasu haluttiin modernisoida 2020-luvulle soveltuvaksi. Käyttöliittymä ei vastannut vallitsevia standardeja ja käytetyt teknologiat olivat osittain vanhentuneet. Uudistetussa järjestelmässä taustalla toimii edelleen alkuperäisessä toteutuksessa käytetty Laravel-ohjelmointikehys. Järjestelmän käyttöliittymää varten käytetty AngularJS korvattiin Next.js:llä (React). Kehitystavoissa siirryttiin myös perinteisestä CSS tyylien kirjoittamisesta Tailwindiin.
DevOps, Pilvinatiivi & IaC
Järjestelmän aikaisempi versio pyöri G-Worksin omalla raudalla kokonaisuudessaan. Päivitykset toimintoihin tuotiin tuotantoon yksinkertaisilla Git-versionhallinnan push- & pull-komennoilla, manuaalisesti. Uudistuksen myötä tehtiin järjestelmästä täysin pilvinatiivi, päivitettiin kehitysmenetelmiä sekä siirryttiin IaC (Infrastructure as Code)prosesseihin infran ylläpitämiseksi. Näistä voit lukea blogissamme täältä.
Talovision infra on versiohallinnoitu ja automatisoitu Terraform ja GitLab runner -työkaluja hyödyntäen. Tämä mahdollistaa niin tuotannon päivittämisen, kuin yksittäisten ympäristöjen nopean pystytyksen.
Ohjelmisto ajetaan lokaalisti Docker-composen avulla, jonka avulla varmistetaan, että eri kehittäjillä on aina sama ohjelmisto käytössä.
Backendin pyörittämiseen hyödynnetään Laravelin omaa Laravel Sail komentoliittymää.
Ohjelmiston päivittäminen tapahtuu käytännössä niin, että versionhallintaan tuodaan uutta koodia, joka pakataan runnerin sisällä omaksi Docker image:ksi.
Tämä image päivitetään AWS:n (Amazon Web Services) puolelle konttirekisteriin, jonka jälkeen ECS käynnistää palvelun . Mikäli ohjelmistossa ei havaita virheitä, ohjaantuu liikenne kuormituksen tasaamisesta vastuussa olevan Elastic Loadbalancerin avulla uuteen sovellukseen automaattisesti ja vanha suljetaan. Täten varmistetaan että ohjelmiston päivitys ei aiheuta käyttökatkoja.
Ohjelmiston käyttöliittymäksi valittu Next.js pyörii saman imagen sisällä, eri portilla.
Uudistusprojektin lopputuloksena Talovisio-järjestelmästä syntyi erittäin näyttävä ja teknologioilta pitkälle kantava jokaiselle kiinteistönomistajalle sopiva tietovarasto.