Sovelluksen on tarkoitus toteuttaa jonkin organisaation tarpeisiin keskustelufoorumi netissä. Sovellusta käyttääkseen tarvitaan käyttäjätunnus ja salasana. Kirjauduttuaan käyttäjä voi tarkastella eri keskusteluaiheita esim. otsikon tai kategorian perusteella ja luoda uusi aihe, tai vastine aiempaan keskusteluun. Käyttäjä pystyy hakemaan keskusteluja mm. sen otsikon/sisällön tai kategorian perusteella. Käyttäjä voi muokata tai poistaa omia artikkeleitaan/vastineita, mutta muiden artikkeleihin voi koskea vain foorumin ylläpitäjävaltuudet omaava henkilö.
Sovellus on toteutettu etupäässä käyttäen Python 3.6.4:ää, apukirjastoina mm. Flask ja SQLAlchemy. Se pyörii verkossa Herokun palvelimella ja käyttää tietokannanhallintajärjestelmänä siellä PostgreSQL:ää.
Sovelluksessa on täysi CRUDL-toiminnallisuus tietokantatauluille Account ja Thread. Sovelluksessa on kaksi monesta-moneen-suhdetta; yksi luonnollinen (Account-Thread, jossa Reply toimii orgaanisesti liitostauluna) ja yksi liitostaulullinen (Thread-Category, joiden väliin luotu liitostaulu Threadcat).
SQLitestä poiketen PostgreSQL:n LIKE-lauseke ei ole case-insensitive, joten haut tuottavat hieman eri tuloksia lokaalisti ja palvelimella.
Sovellustahan olisi voinut laajentaa loputtomiin, mutta koska käytössäni oli vain rajallisesti aikaa, en ehtinyt toteuttaa kaikkea, mitä olisin halunnut. Muun muassa olisin halunnut toteuttaa mahdollisuuden nähdä, onko threadin jo lukenut, mahdollisuuden äänestää threadeja/kommenteja ylös/alas, oikean aikavyöhykkeen kellonajoille, jonkinlaisen chattipalvelun (sic!) ja lisäksi parannellut ulkoasua vielä enemmän.
Arkipäiväisemmistä asioista jäi puuttumaan sivutus muillekin kuin /threads-sivulle. Olisin myös halunnut tehdä hakutoiminnosta vielä voimakkaamman ja saada profiili-sivulle kauniisti kaavioille piirrettyjä tilastoja. Konkreettinen puute on myös se, että rivinvaihdot tietokannasta haetussa tekstissä eivät jostain syystä näy html:ssä. En ohjaajankaan avulla keksinyt siihen ratkaisua. Lisäksi yritin turhaan saada ladattua sivulleni itse luomani faviconin, en edelleenkään tiedä, miksi se ei onnistunut...
Content type
Image
Digest
Size
109.7 MB
Last updated
almost 7 years ago
docker pull qvick05/discforum