GithubHelp home page GithubHelp logo

fire-emblem-fates-unit-database's People

Contributors

justagoldeneye avatar

Watchers

 avatar

fire-emblem-fates-unit-database's Issues

Koodikatselmointi

Ladattu su 7.4 klo 21.10

Tietokanta:

  • Dokumentissa määritelty tietokantakaavio on aika laaja ja sitä oli alkuun vaikea hahmottaa. Dokumentaatioon voisi lisätä yksinkertaisemman version tietokantakaaviosta.

  • SQL-kyselyt on oikein kirjoitettu ja Units näkymä toimi lokaalisti oikein.

  • Yksi syy siihen miksi heroku postgres kombinaatio heittää Internal Server Erroria voisi olla se, että postgres on paljon tarkempi SQL-kyselyiden syntaksista verrattuna SQLiteen. Herokun lokit varmaan auttaa selvittämään asiaa.

Koodi:

  • Ohjelman koodi on selkeää ja se on jaettu järkeviin osiin. Luokista ja metodeista on helppo ymmärtää, mitä kyseinen osa tekee. Koodi on myös kirjoitettu englanniksi, yhtä 'muokkaa' kommenttia lukuun ottamatta.

  • Unit modelissa on monta funktiota samanlaisten kyselyiden tekemiseen. Saisiko niistä tehtyä yhden funktion, joka hakee parhaan arvon funktion parametrin perusteella esim. best_unit_in("speed")?

Käytettävyys:

  • Unitin muokkaus voisi olla selkeämpi ja näyttää esim. muokattavan unitin aikaisemmat arvot.

  • Unitin muokkaus poistaa ensimmäisellä kerralla unitin jonka id on 2, koska unit_editForm():ssa on kovakoodattuna units = Unit.query.filter_by(id=2).

  • Yhden muokkauksen jälkeen muokkausnäkymä ei renderöi oikein, koska tietokannasta ei enää löydy unittia, jonka id olisi 2.

  • Muokkausnäkymään ei varmaan kannata antaa listaa uniteista vaan vain yksittäinen unit. Nyt edit.html on aika epäselvä kun se looppaa units listan läpi vaikka sovelluksessa muokataan aina vain yhtä unittia kerrallaan.

  • Sovelluksessa ei ole näkymää rekisteröitymiselle.

  • Kirjautuminen ja unittien lisääminen sekä poistaminen toimii hyvin.

Muita huomioita:

  • Dokumentaatiosta: Salasanan tallentaminen turvallisesti on aina tärkeää! Flask-Bcrypt on tähän hyvä ja aika yksinkertainen kirjasto.

Jatka samaan malliin! Toivottavasti saat sovelluksen toimimaan myös herokussa, mutta lokaalisti sovellus toimii niin kuin dokumentaatiossa sanottiin.

Vertaisarviointi 2

Ladattu ke 24.4. klo 22.00.

User Storyt:

Toimii:
Kirjautuminen ja uuden tilin luominen toimivat.
Kirjautumaton käyttäjä voi katsoa Unit-sivua.
Järjestelmänvalvoja pystyy luomaan uusia yksikköjä.
Yksikköjen luominen oli helppoa ja luontevaa.

Ei toimi:
Varusteille ei ole mitään toiminnallisuutta.
Etsintätoiminnallisuutta ei ole.
Tavallista käyttäjää ei ole. Uuden käyttäjän luominen tekee käyttäjästä Adminin.
Hienompia yhteenvetokyselyitä ei ole.

Ohjelman ulkoasu

BootStrap on otettu käyttöön ainoastaan yläpalkissa. Yläpalkki on kuitenkin hieman epäselvä, sillä kaikki tieto on pötköön vasemmassa laidassa. Esim. kirjautumistiedon ja logout-linkin olisi voinut laittaa oikeaan laitaan jolloin palkki olisi paljon selkeämpi.

Ohjelman käytettävyys

Ohjelmaa on selkeä käyttää. Se kuitenkin johtuu siitä, että sivuja on vain muutama. (kirjautumissivun ja rekisteröintisivun lisäksi).

Koodi

Luokat ja metodit ovat selkeästi nimettyjä ja niistä selviää helposti mitä ne tekevät.

Muu palaute:

Tein uuden tilin (testaaja - testaaja). Näköjään kaikki saavat admin oikeudet.

Uuden yksikön luominen ja kentät

Kentillä ei ole maksimiarvoa -> voi laittaa arvon väliltä (0-2147483647).
Sama pätee myös nimikenttiin, voi laittaa tietokantaan laitetun maksimiarvoon asti kirjaimia (144).
Tai siis oikeasti voi laittaa vielä enemmän, mutta silloin tietokanta ei toimi ja sivu antaa database-errorin.
Jos haluaa, voi laittaa maksimiarvot (wtformsin kenttiin) tällaisten tapausten varalle, ei tämä tietenkään pakollista ole eikä riko ohjelman käyttöä.

Yksiköiden editointi

Kuten readme:ssa lukee, unitien editoiminen ei toimi (piti kokeilla). Tässä vähän vinkkiä miten mahdollisesti edetä.

Et ota units_editForm() metodissa vastaan unit_id:tä, eli samalla lailla kuin units_delete:ssä on <unit_id>, niin tämä pitäisi olla sekä "/units/edit" osoittessa, esim: "/units/edit/<unit_id>" sekä metodin määrittelyssä, esim: "def units_editForm(unit_id)".
Nyt returnissa on kovakoodattu id=2, joka tulisi siten muuttaa muotoon id=unit_id.

Ja vielä vinkkinä: voit laittaa units_editForm -metodissa jo valmiiksi unitFormiin kenttien arvot oikein. Näin ollen oikeat arvot latautuvat suoraan formiin, eikä se kadota niitä kun painaa Save.
Tämä tapahtuu lataamalla ensin formi: f = UnitForm(), ja sitten laittamalla formiin arvot: f.name.data = u.name jne... Ja sitten syöttämällä formin returnilla edit.html sivulle: form = f.

Tsemppiä työn päätökseen saattamiseen. Ohjelma on vielä kaukana siitä, mitä user storyissä on hahmoteltu, eikä varmaan ole enää aikaa tehdä sitä sille mallille. Mutta vielä ehtii korjata ohjelman rikkinäiset osat ja mahdollisesti lisätä vähän toiminnallisuutta.
Plussaa selkeästä dokumentoinnista ja ymmärrettävästä koodista.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.