Skip to content

Sugar intake diary application with Python for University of Helsinki course

Notifications You must be signed in to change notification settings

tuukkalai/CandyTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CandyTracker

Sovellus on luotu osana Helsingin yliopiston tietojenkäsittelutieteen kurssia "Aineopintojen harjoitustyö: Tietokantasovellus"

Sovellus löytyy osoitteesta https://candytracker.herokuapp.com/

Uuden käyttäjän saa luotua klikkaamalla 'Sign up' tai sisäänkirjaus onnistuu myös testikäyttäjällä testduudyksi (ja salasanalla salasana).

What?

CandyTracker on makeisten syönnin seurantaan soveltuva päiväkirja. Sovellus saattaa toimia apuna hillitsemään omaa sokerinkulutusta, tai esittämään kulutetun sokerin määrän.

CandyTrackerissä voit muodostaa kavereiden, tai vaikka tuntemattomien kanssa ryhmiä, ja kilpailla haasteissa muita ryhmiä vastaan.

Teknologiat

Käyttäjän toiminnot

Perustoiminnot

  • Vierailija voi rekisteröityä
  • Käyttäjä voi kirjautua sisään ja ulos
  • Käyttäjä voi hakea makeisia valmistajan nimellä tai makeisen nimellä
  • Käyttäjä voi lisätä puuttuvan makeisen listaan
  • Käyttäjä voi lisätä omaan kulutushistoriaansa makeisen
  • Käyttäjä voi tarkastella omaa sokerin/makeisten kulutuksta

Ryhmätoiminnot

  • Käyttäjä voi luoda ryhmän
  • Käyttäjä voi pyytää liittymistä avoimeen ryhmään
  • Käyttäjä voi poistua ryhmästä
  • Käyttäjä voi aktivoida haasteen/tavoitteen ryhmässä
  • Käyttäjä voi lähettää viestin ryhmässä

Ryhmien ensimmäinen käyttäjä (luoja) on admin, ja hän näkee hieman enemmän ryhmissä kuin muut. Jos admin poistaa itsensä ryhmästä, toiseksi vanhimmasta ryhmäläisestä tulee admin.

Sovelluksen suorittaminen

Ensimmäisellä kerralla

$ cd CandyTracker
$ python3 -m venv venv
$ source venv/bin/activate
(venv) $ pip install -r requirements.txt
(venv) $ flask run

Seuraavilla kerroilla

$ source venv/bin/activate
(venv) $ flask run

Kurssiin liittyvät vaatimukset

Yleiskuva

  • Sovellus toimii, kun käyttäjä testaa sitä
  • Sovellusta on mukavaa käyttää ja on selvää, mitä toiminnot tekevät
  • Jos käyttäjä antaa väärää tietoa, tästä tulee selkeä ilmoitus
  • Sovelluksen käyttöliittymä ja ulkoasu ovat viimeisteltyjä
  • Tiedosto README.md antaa hyvän kuvan sovelluksesta

Tekninen toteutus

  • Koodia on helppo lukea ja muuttujien, funktioiden, jne. nimet on valittu hyvin
  • [-] Koodi on tiivistä ja suoraviivaista
  • Koodi on jaettu järkevästi osiin tiedostoiksi ja funktioiksi
  • Koodin tyyli on yhdenmukainen kaikissa sovelluksen osissa
  • Versionhallinnassa commitit ja niiden viestit on tehty hyvin

Tietokanta-asiat

  • Tietokanta on suunniteltu järkevästi sovelluksen vaatimusten mukaisesti
  • Taulut ja sarakkeet on nimetty selkeästi ja yhdenmukaisesti
  • Tauluissa on käytetty viiteavaimia ja tarvittaessa muita määreitä
  • SQL-kyselyt on toteutettu suoraviivaisesti eikä haeta turhaa tietoa
  • Jos tiedot voi hakea järkevästi yhdellä kyselyllä, ei suoriteta useita kyselyjä

Tietoturva

  • Käyttäjät pääsevät näkemään vain tietoja, joihin heillä on oikeus
  • Käyttäjän syöte tarkastetaan ennen tietokantakomentoja
  • Sovelluksessa ei ole SQL-injektion mahdollisuutta eikä XSS- ja CSRF-haavoittuvuuksia
  • Salasanat tallennetaan tietokantaan asianmukaisesti
  • Versionhallinnassa ei ole salaista tietoa (kuten .env-tiedostoa)

About

Sugar intake diary application with Python for University of Helsinki course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published