tapanih / social-news-site Goto Github PK
View Code? Open in Web Editor NEWA social news site.
Home Page: https://social-news-site.herokuapp.com/
A social news site.
Home Page: https://social-news-site.herokuapp.com/
Lataamisen ja arvioinnin aikaleima: 24.04.2020 - 18:00
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:
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.
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.
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.
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.
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:
data-timestamp
attribuutista, mutta itse käyttöliittymässä sitä ei taida nähdä.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.A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.