Readme - Valtis/Mini GitHub Wiki

Yleistä

Harjoitustyötä varten toteutin Imgur-tyyppisen kuvapalvelun. Käyttäjä voi ladata palvelimelle kuvia joko anonyymisti tai kirjautuneena. Kirjautunut käyttäjä voi kontrolloida kuvien näkyvyyttä (julkinen/vain kaverit/yksityinen) ja liittää kuvia albumeihin. Käyttäjät voivat myös solmia kaveruussuhteita edellä mainittau kuvien näkyvyyttä varten. Rekisteröitynyt käyttäjä voi myös kommentoida kuvia.

Käyttäjillä on neljä erillistä roolia: regular, banned, moderator ja admin. Peruskäyttäjällä on peruskäyttöoikeudet. Bannattu käyttäjä puolestaan ei voi kirjautua sisään (kirjautuu automaattisesti ulos mikäli bannattaan kun kirjautunut sisään). Moderaattorit voivat muokata käyttöoikeuksia muuten, mutta eivät voi korottaa käyttäjää adminiksi tai muokata adminin tai toisen moderaattorin oikeuksia. Admin voi muokata myös moderaattoreiden ja muiden adminien oikeuksia. Moderaattorit\adminit voivat myös poistaa kuvia ja kommentteja.

Kuvat tallennetaan Amazonin palvelimelle paperclip-gemin avulla.

UML

Käyttöohje

Käyttäjä voi ladata kuvia valitsemalla Upload Image navbarista. Navbarin kautta käyttäjä voi myös kirjautua sisään tai rekisteröidä uuden käyttäjätilin. Käyttäjätilin nimen tulee olla uniikki ja salasanan on oltava vähintään 8 merkkiä pitkä, sisällettävä yhden numeron ja ison kirjaimen ja ei saa sisältää käyttäjätunnusta.

Etusivulla näkyvät kaikki kuvat, jotka näkyvyysasetukset sallivat käyttäjän näkevän. Profiilisivulla näkyy kaikki käyttäjän lataamat kuvat, jotka nykyinen käyttäjä saa nähdä. Vastaavasti albumisivulla.

Profiilisivulla moderaattori\admin voi muuttaa käyttäjän roolia alasvetovalikosta. Omalla profiilisivulla näkyy myös nykyiset kaveripyynnöt, joita ei ole hyväksytty. Olemassa olevat kaverisuhteet voi myös perua profiilisivulta. Toisen käyttäjän profiilisivun kautta voidaan lähettää kaveripyyntö. Kaverussuhteen hyväksyminen/kieltäytyminen/peruminen onnistuu myös toisen käyttäjän profiilisivun kautta.

Albumisivulla omistaja voi poistaa tai uudelleenimetä albumin.

Kuvasivulla kuvan omistava käyttäjä voi poistaa kuvan ja muuttaa sen näkyvyysasetuksia ja albumia. Moderaattorit\adminit voivat myös poistaa kuvan. Rekisteröityneet käyttäjät voivat myös kommentoida omia kuviaan. Käyttäjät voivat poistaa omat kommenttinsa. Myös moderaattorit/adminit voivat poistaa kommentteja.

Testausperiaate

Modelit ja kontrollerit on testattu rspecillä. Testeillä on pyritty testaamaan suurin osa ohjelman ominaisuuksista ja kirjoitushetkellä testejä onkin 169kpl ja rivikattavuus on 94%. Kuvien luonti on kuitenkin jätetty tarkoituksella testaamatta, koska tässä on riippuvuus amazonin palvelimille ja en ole täysin varma kuinka tämä yhteys tulisi mockata.

Työaikakirjanpito

15.3: Projektin aloittelua. Käyttäjät ja sessiot. n. 5h
23.3: AWS:n kanssa tappelua. Kuvien lataus, kuvat profiilisivulle. n. 5h
3.4: Kaveruustoiminto. n. 5h
4.4: Näkyvyys. n 2h.
11.4 Kuva-albumi. n 3h
12.4 Kommentit. n. 1h
13.4 Roolin vaihtelu, bannit. N. 1h
18.4 Testejä, ulkonäköä. N 2h
8.5 Profiilisivulle testit, profiilisivun ulkoasun pienoista parantelemista. N. 2.5h
9.5 Testit albumeille ja kuvasivulle. Hienoista ulkoasun parantelua. Vihdoin ja viimein testikattavuus githubiin. N. 3.5h
10.5 Viimeistelyä, wiki. N 1h

Yhteensä n. 31h