Tartsi / simple-online-store

Yksinkertainen nettikauppasovellus Pythonia, Flaskia ja PostgreSQL käyttäen.
MIT License
1 stars 0 forks source link

1. vertaisarviointi #1

Open a-bzzzz opened 1 year ago

a-bzzzz commented 1 year ago

Koodikatselmusta

Yleisesti koodi on siistiä, tehokasti, selkeää myös rakenteeltaan. Lohkorakenne on toimiva. On varmaankin hyödyllistä jaa tietokantaan yhteydessä olevat toiminnot erillisiin haku- ja muutostiedostoihin (utils.py ja db_logic.py). Hyvä, että näihin tiedostoihin oli alussa kommentoitu, mitä asioita niissä hoidetaan, koska tiedostonimen perusteella se ei ollut minulle aivan selvää.

Tietokantataulut ja niiden väliset yhteydet on rakennettu enimmäkseen järkevästi. Mietin foreign key -määrittelyn käyttöä, joka itselleni ei ole kovin tuttua, että mitä käytännön hyötyä se tuo tietokannan käyttöön. Lisäksi, (tätä ei päässyt vielä testaamaan) onnistuukohan useamman eri tuotteen lisääminen shopping_cart , completed_orders ja reviews-tauluihin? Vaikuttaisi siltä, että pitäisi käyttää jotain tietorakenteita, mikä ei ole tietokantojen kanssa optimiratkaisu (tai edes mahdollista?). Lisäisin joitakin aputauluja, kuten esim. TABLE carts_products (cart_id, product_id, amount), TABLE orders_products (order_id, product_id, amount) ja TABLE reviews_products (cart_id, product_id, amount). Silloin voisi jättää pois päätauluista kentät ‘product_id’, ‘quantity’ ja myös ‘total_price’, jonka voisi laskea tarvittaessa sql:n COUNT-funktiolla/komennolla. Muuttujaan ei jäisi vahingossa päivittämättä oikeata kokonaishintaa. Tai joku toinen parempi tapa…?

Versionhallinnassa committien kommentointi informatiivista, osassa voisi olla imperatiivi-muodossa, jolloin kommentti hieman lyhenisi.

Sovelluskokeilua

Hieman tarkemmin nettikauppasovelluksen kokeilusta seuraavia havaintoja.

Korjasin itselleni kloonattuun koodiin saamani virheilmoituksen perusteella: ... File "~ /store/simple-online-store/venv/lib/python3.10/site-packages/jinja2/environment.py", line 936, in handle_exception raise rewrite_traceback_stack(source=source) • File "~/store/simple-online-store/templates/store.html", line 40, in top-level template code {% elif products|length == 0 %} • TypeError: object of type 'NoneType' has no len() ... KORJATTU: store.html rivi 40: {% elif products|length == 0 %} korjattu: {% elif products == None %}

→ Pääsee jatkamaan :-)

Admin Page Add New Product

Increase Product Stock

Paluu Admin-sivulta kirjaa ulos sovelluksesta. Voisiko olla paluu edelliselle sivulle?

Rekisteröinti toimii hyvin ja ohjaa hienosti oikeellisiin syötteisiin. Samoin kirjautuminen. Tuotehaku nimellä, ja jopa nimen osalla!, toimii hyvin.

Epäonnisen haun jälkeen voisi jollain painikkeella palata takaisin tuoteluetteloon tai siihen haun aloitussivuun tjs. Mutta se ominaisuus on varmasti tuloillaan. Tuotteiden selaamisen toimintoa en vielä löytänyt.

README kaikkine ohjeineen ja tietoineen on tehty todella selkeäksi ja ammattimaisesti, mikä helpotti kovasti sovelluksen käyttöönottoa ja kokeilemista. Omat tietokantasäätöni eivät mene aivan ohjeen mukaisesti, mutta se on ihan oma päänsärkyni.

Kokonaisuutena sovellusta on saatu jo pitkälle ja se näyttää oikein hyvältä jo tässä vaiheessakin sekä koodin että ulkoasun puolesta.

Erittäin hyvää työtä!

Tartsi commented 1 year ago

Kiitos palautteesta, vaikka näin hieman myöhässä!