Giter VIP home page Giter VIP logo

social-news-site's People

Contributors

dependabot[bot] avatar tapanih avatar

Watchers

 avatar  avatar

social-news-site's Issues

Vertaisarviointi #2

Vertaisarviointi

Lataamisen ja arvioinnin aikaleima: 24.04.2020 - 18:00

Sovelluksen Toiminta

Toiminassa ei ole oikeastaan mitään valittamista, kaikki sovellukselle esitetyt ominaisuudet toimivat kuten pitääkin. Rekisteröitymislomake on validoitu ja sekä duplikaattinimimerkeille että salasanavirheille on oma tarkistuksensa. Postauksien listaus ja niiden järjestys ovat kuten voisi odottaa, ja kaikki toiminnallisuudet uuden postauksen ja kommentin luomisesta niiden muokkaamiseen ja poistamiseen toimivat moitteettomasti.

Kevyessä käytössä vastaan tuli ainoastaan kaksi hyvin minimaalista ongelmaa:

  • Navipalkin etusivulle vievän linkin erikoinen käytös jossa itse linkki ulottuu vain kahteen ensimmäiseen sanaan ja site-loppuosa on kuollutta aluetta
  • Uutta URL-postausta tehtäessä vaaditaan ilmeisesti koko https://-muotoinen osoite lyhyemmän muodon sijasta. Tämä tosin vaikuttaa olevan WTForms-pohjainen ongelma joten tosiaan minimaalisia asioita

Lyhyesti: Sovellus kattaa kaiken määrittelyssä esitetyn toiminnallisuuden ja toimii virheettömästi. Ainoat ongelmat ovat pieni muotoseikka ja ulkoisen kirjaston aiheuttama tiukkuus yhdessä syötteessä. Näiltä osin sovellus on erinomaisessa tilassa.

Rakenne ja Ohjelmakoodi

Myös sovelluksen rakenne on selkeä. Eri osa-alueet on eritelty omiin kansioihinsa kuten kurssilla vaaditaan. Kommentit voisi ehkä siirtää oman kansionsa alle erilliseksi postauksista, vaikka yhteys postauksiin löytyykin, mutta muilta osin erittely on suoritettu mallikkaasti.

Koodinkaan kanssa ei ole ongelmia. Yllä mainittu mahdollinen erottelu postausten ja niiden kommenttien välillä pätee myös täällä, mutta muuten tietyissä tiedostoissa tapahtuu juuri niitä asioita mitä nimen perusteella voisi olettaa, ja koodi on selkeää ja helppolukuista. Kommentteja ei juuri ole, mutta kurssia käyvälle aihe on tarpeeksi tuttu jotta kaikessa pysyy mukana.

Sovellus sisältää myös oman CSS-tyylittelynsä valmiin kirjaston kuten Bootstrapin sijasta, tästä boonusta. Tyylittely on myös toteutettu mallikkaasti, ainoa katselmoinnin aikana vastaan tullut ongelma oli yllä jo mainittu navigaatiopalkin indeksilinkin kuollut alue.

Yksi eritysihuomio itse koodia katsellessa oli sovelluksen uudelleenohjautumiskäyttäytyminen. auth-kansion alla tietyn näkymän käsittelyn lopuksi tapahtuva uudelleenohjaaminen on harkittua, ja vaihtoehtona kovakoodatun ohjautumiskohteen rinnalla on ainakin request.referrer. Suuret bonuspisteet tästä, esimerkiksi omassa sovelluksessani vastaava ei tullut edes mieleenkään. Toisaalta taas post-kansion alla vastaavaa toiminnallisuutta ei ole toteutettu, ja esimerkiksi postauksen äänestäminen new-listauksen alla vaihtaa näkymän äänijärjestyslistaukseen. Tähän ei olisi välttämättä edes osannut kiinnittää huomiota ilman tyylikkäämpää toteutusta sovelluksen muussa osassa, mutta nyt muidenkin uudelleenohjausten parantaminen on yksi mahdollinen QoL-parannuskohde jos ennen lopullista palautusta löytyy ylimääräistä aikaa.

Lyhyesti: Sekä sovelluksen rakenne että koodi ovat molemmat selkeitä. post-kansiota voisi pilkkoa pienempiin osiin, ainakin kommentit voisi ottaa erilleen jos mahdollista. Toiminnallisesti parannettavaa olisi vain joissain näkymissä käytössä olevan paremman uudelleenohjaamisen lisääminen kaikkiin siitä hyötyviin näkymiin. Kaikkiaan kuitenkin sekä rakenne että koodi ovat erinomaisessa kunnossa.

Dokumentaatio

Asennusohje on hyvin yksityiskohtainen, hyvä näin. Kurssilla oleville ohjeissa ei ole mitään uutta tai erikoista, mutta yleispätevyyden eteen on nähty vaivaa.

Tietokantakaavio vastaa sovelluksen nykytilaa ja sitä on myös avattu tarkemmin muutamalla lauseella. Samoin taulujen luomislauseet on laitettu näkyviin, tästä boonusta.

Samoin user storyt ovat ajan tasalla ja jokaiseen on liitetty pieni kuvaus ja käyttäjätoivetta vastaava SQL-kysely.

Sovelluksen käyttäminen on valmiiksi melko intuitiivista, mutta käyttöohjeeseen on silti kirjoitettu jokaiselle toiminnolle tarpeeksi pitkä ohje.

README sisältää lisäksi lyhyen kuvauksen sovelluksen tarkoituksesta sekä linkin herokuun. Ainoa varsinainen puute on työn rajoitteiden ja puuttuvien mutta suunniteltujen ominaisuuksien pohdiskelu, mikä viikkoa ennen lopullista palautusta on ymmärrettävää. Kaikkiaan dokumentaatiossa ei siis ole yhtään moitittavaa.

Lyhyesti: Dokumentaatio on täysin kunnossa. Ainoa puuttuva osa on ylipäätään järkevä lisätä vasta kehityksen loputtua, kaikki muu tarvittava löytyy ja on mallikasta.

Yhteenveto

Projekti on lupaamansa toiminnallisuuden osalta ainakin vertaisarvioijan silmään valmis. Siellä täällä on tilaa pienille viilauksille ja parannuksille, mutta kaikki suunnitellut toiminnot pelaavat ja kriittisiä ongelmia ei ole. Erinomainen projekti.

Vertaisarviointi

Vertaisarvio tehty commitista 3e5d4e3 (2020-04-02T13:45:08Z)

Testasin user storyt läpi ja toiminnallisuuksia löytyy jo aika mukavasti. User storyista taitaa puuttua enää kommenttien poisto ja muokkaus.

Muutamia ongelmia, puuttuvia ominaisuusksia, kehitysehdotuksia ja plussia:

  • Tällä hetkellä postauksista voi tykätä monta kertaa samalla käyttäjällä. Tietokantakaavion perusteella tästä on tarkoitus päästä myöhemmin eroon.
  • Kommenttien lukeminen ei tällä hetkellä onnistu ellei ole kirjautunut, tarkoituksella?
  • Postaksien numerointi puuttuu tällä hetkellä, kaikki postaukset on numeroa 1.
  • Voisi olla hyvä jos esim. "14 minutes ago" tekstiä hoveraamalla näkisi tarkan ajan. Tällä hetkellä sen näkee elementin data-timestamp attribuutista, mutta itse käyttöliittymässä sitä ei taida nähdä.
  • Koodin laatu on hyvää, funktiot on myös nimetty hyvin.
  • list_posts_dangerously_ordered_by erityisesti on hyvin nimetty. Ilmeisesti sarakkeiden nimiä ei voi ottaa argumenttina parametrisoiduissa kyselyissä. Nimen takia kukaan tuskin tulee epähuomiossa antamaan käyttäjän syötettä sille ilman validointia.
  • Oikeuksien varmistus on jo tässä vaiheessa hyvin toteutettu. Muiden käyttäjien postauksia ei voi muokata eikä poistaa, edes tekemällä suoria kutsuja palvelimelle.
  • Sivun tyyli on minimalistinen ja siisti, itse ainakin tykkään. Pienenä ehdotuksena, omasta mielestä form sivut olisi kivemman näköisiä jos kaikki inputit olisi samassa linjassa.
  • HTML elementtejä on käytetty oikeaoppisesti

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.