Ilmoittautumisjärjestelmä vol 2

Ilmoittautumisjärjestelmän rakentaminen

Ilmoittautumisjärjestelmän rakentaminen alkoi kattavalla tarpeiden kartoituksella, jossa selvitettiin sekä asiakkaan tarpeet että olemassa olevien järjestelmäiden puutteet. Projekti sisälsi uuden asiakasrekisterin luomisen sekä kaiken vanhan koodin uudelleenkirjoittamisen modernilla teknologialla. Tämä mahdollisti helppokäyttöisen, turvallisen ja skaalautuvan ratkaisun toteuttamisen.

Teknologiavalinnat ja arkkitehtuuri

Projektin ohjelmointikieleksi valittiin PHP sen laajan tuen ja soveltuvuuden vuoksi verkkosovellusten rakentamiseen. Tietokantana käytettiin MySQL, joka tarjoaa tehokkaat ja vakaat ratkaisut suurten tietomäärien hallintaan. Järjestelmä asennettiin pilvipohjaiselle palvelimelle, jota voi helposti skaalata tarpeen mukaan kuormituksen kasvaessa.

Järjestelmän arkkitehtuuri suunniteltiin modulaariseksi ja skaalautuvaksi. Se koostui seuraavista pääosioista:

  1. Asiakasrekisteri: Kaikki asiakastiedot tallennettiin keskitetyyn tietokantaan, joka mahdollistaa tietojen helpon hallinnan ja raportoinnin.
  2. Ilmoittautumisprosessi: Ilmoittautumislogiikka rakennettiin selkeäksi ja monivaiheiseksi, jotta eri tapahtumatyypit voitiin ottaa huomioon.
  3. Hallintakäyttöliittymä: Kehitettiin selainpohjainen hallintapaneeli, jonka avulla asiakas pystyy tarkastelemaan ja muokkaamaan tietojaan sekä hallitsemaan tapahtumia.
  4. Käyttäjäautentikointi: Toteutettiin turvallinen kirjautumisjärjestelmä, joka käyttää bcrypt-salausta salasanojen tallentamiseen.

Asiakasrekisteri

Asiakasrekisteri suunniteltiin alusta asti uudelleen, jotta se vastaisi nykyajan tietosuojavaatimuksia, kuten GDPR:aa. Jokaiselle asiakkaalle luotiin yksilöllinen tunniste, ja tiedot tallennettiin rakenteiseen tietokantaan. Tietokannan rakenne sisälsi seuraavat taulut:

  • Asiakkaat: Sisälsi perustiedot, kuten nimi, sähköpostiosoite ja yhteystiedot.
  • Tapahtumat: Luettelo kaikista tapahtumista, joihin asiakas on ilmoittautunut.
  • Kirjautumistiedot: Tietoa käyttäjätileistä ja niiden oikeuksista.

Tietokannan optimointiin panostettiin erityisesti, jotta järjestelmä pystyy palvelemaan suurta käyttäjämäärää ilman suorituskykyongelmia.

Koodin uudelleenkirjoittaminen

Kaikki vanha koodi koodattiin uusiksi modernin PHP:n parhaiden käytäntöjen mukaisesti. Käytimme PHP:n uusimpia ominaisuuksia, kuten tyypitystä ja olio-ohjelmointia. Uusi koodi jaettiin modulaarisiin osiin, jotka voidaan helposti testata ja huoltaa. Esimerkiksi ilmoittautumistoiminnot erotettiin kokonaan asiakasrekisterin hallinnasta, jotta koodi pysyy selkeänä ja helposti laajennettavana.

Projektissa hyödynnettiin myös Composer-pakettienhallintaa, jotta ulkoisten kirjastojen integrointi sujui joustavasti. Kehitysympäristöä varten luotiin automaattiset testit PHPUnit:lla, minkä ansiosta pystyttiin varmistamaan, että uusi koodi toimii virheettömästi.

Pilvipohjainen palvelin ja skaalautuvuus

Palvelimen toteutus pilvessä mahdollisti järjestelmän joustavan skaalautuvuuden. Käytimme palveluntarjoajaa, joka tukee automaattista resurssien skaalautumista, kuten CPU:n ja muistin lisäämistä kuormituksen kasvaessa. Tämän ansiosta järjestelmä pystyy palvelemaan tuhansia samanaikaisia käyttäjiä ilman katkoksia.

Järjestelmälle toteutettiin myös jatkuva varmuuskopiointi, joka tallentaa tietokannan tiedot turvallisesti useaan sijaintiin. Palvelimen tietoturva varmistettiin SSL-sertifikaateilla sekä tarkasti rajatuilla palomuurisäännöillä.

Lopputulos

Uusi ilmoittautumisjärjestelmä vastaa nykyajan tarpeita tarjoten käyttäjille helppokäyttöisen ja turvallisen tavan hallita tapahtumiaan. Skaalautuvuuden ansiosta järjestelmä on valmis kasvamaan asiakkaiden mukana, ja moderni koodipohja takaa helpon jatkokehityksen.

Tämä projekti osoitti, kuinka tarkalla suunnittelulla, nykyaikaisilla teknologioilla ja laadukkaalla toteutuksella voidaan rakentaa järjestelmä, joka palvelee sekä nykyhetken että tulevaisuuden tarpeita.

Museorekisteröinti

FHRA:lla menty lisää digitaaliseen maailmaan ja nykyään museorekisteröinti tapahtuu täysin digitaalisessa maailmassa. Sain tehdä tämän sovelluksen kokonaisuudessaan FHRA:lle ja he ovat olleet siihen hyvin tyytyväisiä!