Skip to content

Koodikatselmointi #2

@Themis1

Description

@Themis1

Zip-tiedosto ladattu 4.9. klo 21.30

Yleistä

HearthstoneCardDB-tietokannassa on tarkoitus ylläpitää tietoa korteista ja pakoista sekä lisätä kortteja pakkoihin. Korttien ja pakkojen on oltava samaa laatua. Lisäksi tarkoituksena on, että käyttäjä voi merkitä kortteja ja pakkoja suosikeikseen. Tietokannassa on kuusi taulua.

Toiminnallisuudet tällä hetkellä

  • Tietokantaan voi luoda uuden käyttäjän ja kirjautua tällä käyttäjällä, sekä kirjautua ulos.
  • Tietokantaan voi lisätä uusia kortteja ja pakkoja.
  • Kortteja ja pakkoja voi tarkastella listoissa ja yksitellen.
  • Kortteja voi lisätä pakkoihin.

Testaus

  • Sovellus toimii paikallisesti ja Herokussa.
  • Lähes kaikki näkyvät toiminnallisuudet toimivat moitteetta sekä paikallisesti että Herokussa.
  • Sovelluksessa Herokussa on linkki, josta pitäisi pystyä näyttämään suosikit. Linkki ei toimi. Paikallisesti tämä toimii.
  • Modify deck -linkki ei toimi paikallisesti eikä Herokussa.

Koodi

  • Koodi on kaiken kaikkeaan selkeää. Jaottelu kansioihin on hyvin selkeää. Koodissa ei ole käytetty abstraktia luokkaa Base.
  • Käyttäjälle tehdyt taulut ja metodit ovat suppeat ja selkeät.
  • Korteille ja pakoille tehdyt taulut ja metodit ovat erittäin selkeät. Samoin niihin liittyvä html. Atribuutit on kirjoitettu kätevästi koodin sisään. Tässä on keskitytty selkeään ja toimivaan koodiin. Hyvä!
  • Koodiin on toteutettu kaksi liitetaulua: cards ja attributes. Molemmat toimivat kuten pitääkin.
  • Toimintoja on jaoteltu sen mukaan pitääkö käyttäjän olla kirjautuneena. Tämä toimii kuten pitääkin. Sen sijaan ilmeisesti kaikki kirjautuneet käyttäjät pystyvät tekemään lähes kaikki tarjolla olevat toiminnot. Eli niitä ei ole rajattu admin-tunnuksille tai kyseisen käyttäjän omiin (esimerkiksi) kortteihin ("current_user").
  • Koodissa on riippuvuuksia (relationship) jonkun verran. Ne vaikuttaisivat olevan toteutettu oikein.
  • Tietokantakaaviosta kaikki on toteutettu.
  • Erilaisia kyselyitä on toteutettu riittävästi.

Puutteita / kehitettävää

  • Asennusohje on puutteellinen, eikä sovellus asennu näillä ohjeilla. Ohjeen alkuun pitäisi lisätä Pythonin virtuaaliympäristön luonti: python3 -m venv venv.
  • Saman kortin voi lisätä useaan pakkaan. Onko tämä tarkoitus?
  • Kun kortin tai pakan suosikki-statusta muuttaa, siirtyy näkymä suoraan listaan. Itse kokisin parempana, että sama kortti/pakka näkymä säilyisi. Kun siirtymä nyt on siihen listaan, joka voi olla pitkäkin, jää epäselväksi että saiko statuksen muutettua.
  • Adminille ei ole tehty erillisiä toimintoja. Tämän voisi toteuttaa luomalla Role-luokka auth/models.py-tiedoon. Sitten myös toimintoihin voisi edellyttää kirjautumisen lisäksi tiettyä roolia.
  • Käyttötapauksia on kuvattu vain vähän, ja viimeinen on vielä toteuttamatta. Tämä on huomioitu dokumentaatiossa.

Muuta

  • Ulkoasu on toimiva ja perustyylinen, ehkä jopa vähän sekava, kun tietoa liittyen kortteihin ja pakkoihin on melko paljon. Tätä voisi yrittää selkeyttää. Jos jää aikaa, olisi kiva lisätä sivulle vähän grafiikkaa liittyen Heartstone-kortteihin tms.
  • Keep up the good work!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions