Miittinettiäppi

Merri

Ylläpitäjä
Vastuuhenkilö
Ylläpitäjä
Tosi hieno nimi, keksin sen juuri itse, eikö olekin hyvä?

Vakavammin siis yritän nyt vihdoin saada tätä projektia etenemään, koska vanhan järjestelmän tekohengittäminen ei ole kovinkaan fiksua. Isoin haaste tällä hetkellä on yksinkertaisesti siirtyä nykyaikaisempaan taustajärjestelmään: olen tätä nykyä JavaScript-ohjelmoija, joten ohjelmoiminen PHP:lla tuntuu todella kankealta. Lisäksi vanha ilmoittautumisjärjestelmä on kirjoitettu todella... no, perinteisin nurkkakoodarimenetelmin. Sen jatkokehittäminen ole kovinkaan mielekästä, koska kaikki pitäisi kirjoittaa kuitenkin uudelleen, jotta asiat eivät hajoilisi niin helposti.

Ongelma tietysti sitten tämmöisessä kattavassa uudelleen tyhjästä lähtemisessä on vaaditun työn määrä, jotta pääsee mihinkään näkyvään lopputulokseen. Yritän nyt jotenkin keksiä keinon, jolla saisin toteutettua vähimmäisimmän vaaditun, jotta ei enää kovin kauaa tarvitsisi kituutella vanhalla järjestelmällä. En kuitenkaan halua oikoa mutkia liikaa, koska se sitten taas helposti johtaa turhaan työhön myöhemmin.

Seuraaville kokonaisuuksille ajattelin kirjoittaa tuen nyt ensimmäisenä:

  • Miittipaikkojen lisääminen
    Paikan nimi, osoitetiedot, latitudi ja longitudi, kuva.
  • Hinnoittelu
    Päivähinta, yöpymishinta, perushinta.
    Erittely seuran jäsenen ja ei-jäsenen välillä; en ole vielä ottanut kantaa poikkeuksiin kuten perheiden hinnoittelu.
  • Miitin lisääminen
    Miitin nimi, kuvaus, sposti, linkki, petipaikkojen määrä, lisäosallistujien määrä, päivämäärät, onko miitti Tolkien-seuran järjestämä vaiko ei.
  • Ilmoittautuminen
    Nikki, oikea nimi, ikä, useamman henkilön ilmoittaminen kerralla / perhejäsenet.
  • Sähköpostiviestien lähetys
    Mahdollista lisätä miittikohtainen kuvaus
  • Alkeellinen monikielisyyden tuki
    Eli ilmoittautuminen myös englanniksi; tämä kuitenkin myöhemmin kuin nuo edeltävät kohdat.

Tässä on siis huomattavasti hienostuneempi asioiden erittely kuin vanhassa järjestelmässä. Samankaltainen selkeä erittely tulee myös taustajärjestelmän puolelle; toisin sanoen teen asiat lähes samalla vaatimustasolla kuin teen töissäkin. Ainut asia jonka skippaan todennäköisesti aika tehokkaasti on testien kirjoittaminen :D

Tulevia hajatelmiani olisi sitten ainakin tehdä mahdolliseksi kirjanpitäjälle saada maksutiedot irti näppärämmin. Sitten olisi kiva päästä siihen että tapahtuneita miittejä voisi selailla ja katsella ja lisäillä kuvia ja linkkejä ja ehkä jopa merkkailla ihmisiä kuvissa, tehdä miittien aikataulut joihin voisi sitten osoittaa että hei tämä kiinnostaa ja sitten saa ilmoituksen sähköpostilla vähän ennen kuin ohjelma alkaa ja kaikkea tämmöistä muuta hienoa. Nämä asiat on kuitenkin vielä niin kauhean kaukana, että en halua alkaa ajatella niitä kovinkaan syvällisesti.

Ydinasia olisi keskittyä siihen, miten miittiasiat saisi mahdollisimman sujuviksi ja kuinka miittikokemukset saisi paremmin jakoon myös netin puolella. Ja tehdä mahdolliseksi miittipuolen hallinta muillekin kuin vain seuralle. Ehkä tämä on vähän tämmöistä liiankin hienoa ideointia, mutta kun on niin himskatin vaikea motivoitua tekemään vaan sellasta perussysteemiä, joka tekee vaan sen vähimmäisimmän mitä sen tarvii tehdä.


Tässä on nyt sitten miten asiat toivottavasti etenevät:

  1. Pohjajärjestelmän valinta ja kokeilu
  2. Tietokannan luonti
  3. API-rajapinta
  4. Kokeilumiitin lisääminen
  5. Ilmoittautumislomakkeen teko
  6. Sähköpostien lähettämisen tuki
  7. Testaa itse
  8. Testauta muilla
  9. Julkisesti näkyvät tiedot miitin ilmoittautumistilanteesta

Ja tämän jälkeen pitää lähteä varmaan miettimään kirjautumispuolta, joka on aika tärkeä vaatimus muokkaukselle. Sen jälkeen sitten tukea sille, että miittejä pääsee luomaan ja muokkaamaan. Mutta se on sitten sitä tulevaisuutta tässä kohtaa, jota ei vielä kannata liikaa murehtia.

Tällä hetkellä olen toteuttamassa tietokannan rakenteita, jotta siellä olisi tuki kaikelle tarvittavalle. Ja ihan juuri nyt olen nälkäinen, joten käyn hakemassa jotain sapuskaa jostakin.
 
Tilannepäivityksenä olen nyt edennyt jumittamaan kolmoskohtaan, eli toteutan kaikkia perustoiminnallisuuksiin tarvittavia tiedonkulkuja palvelimen ja selaimen kommunikoinnin välille. Niissä riittää toviksi työtä kun tuota tietoa pyörii näinkin sinänsä pienimuotoisessa ohjelmassa aika paljon.
 
Ylös