fire-emblem-fates-unit-database's People
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 kovakoodattunaunits = 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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.