Git Product home page Git Product logo

laakariaseman-tyovuorolista's Introduction

Lääkariaseman työvuorolista

Sovelluksen avulla hallitaan lääkärien, sairaanhoitajien ja perushoitajien työvuorolistoja. Sovelluksen hallitsia (admin) voi luoda työviikkoja ja asettaa näiden viikkojen tunneille kiireellisyysluokkia ja työntekijöitä. Kiireellisyysluokka määrittää monenko työntekijän minimivahvuus kultakin alalta tarvitaan tunnille, tämän alittavaa tuntia ei näytetä työntekijöille. Halutessaan hallitsija voi jättää tunnin luokittelematta josta näkyy työvuorossa purppura teksti "luokaton"

Työntekijä voi tarkastella omia työviikkojaan omasta arkistostaan lääkäri voi tuurata sairaanhoitajaa tai perushoitajaa mutta sairaanhoitaja voi tuurata vain perushoitajaa.

Toimintoja

  • Kirjautuminen
  • Työntekiän hallinta
  • Kiireellisyysluokkien hallinta
  • Työvuorolistan hallinta
  • Käyttäjät näkevät oman työvuoro listansa
  • Työvuorolistan listaus

tunnus: admin, salasana: admin

Vain admin voi luoda työntekijän, kiireellisyys luokan ja työviikon. Vieras tunnus: guest, guest

Linkit

Käyttöohjeet

Sovellus herokussa

Tietokanta hahmotelma

Create Tablet

User Storyt

Retrospektiivi

Työloki

laakariaseman-tyovuorolista's People

Contributors

radiant92 avatar

Watchers

James Cloos avatar

laakariaseman-tyovuorolista's Issues

Koodikatselmointi

Ladattu 25.02.2019 klo 22.00

Koodikatselmointi

En saanut käyttöohjeiden mukaan sovellusta toimimaan paikallisesti sillä se ei käynnistyessään luo tietokantatauluja ja täten valittaa niiden olemassaolemattomuudesta.

Käyttöohjeissa myös ensimmäinen kohta väärin, pitäisi olla pip install -r requirements.txt.

Toiminnallisuus

Herokussa sovellus toimii ohjeiden mukaisesti Lisää työntekijä -sivulle navigoidessa voi lisätä työntekijän ja validointi toimii oikein. Työntekijä tulee lisäämisen jälkeen näkyviin listaukseen. Listauksessa työntekijän tilaa vaihtava nappi tuntuu hieman turhalta sillä tilan vaihtamisella ei näytä olevan mitään käytettävyyttä.

Kiirellisyysluokan lisääminen ja näyttäminen toimii myös moitteettomasti.

Työviikkojen lisääminen tuntuu hieman turhalta kun eikö ne voisi olla jo järjestelmässä kalenterina josta voisi sitten muuttaa tuntien kiireellisyysluokkaa? Viikon lisääminen ei myöskään validoi, että ei voi lisätä jo mennyttä viikkoa.

Koodi

Sovelluksessa on aikas monta tiedostoa ja kansiota, jotka on kuitenkin nimetty johdonmukaisesti joten koodia oli helpohkoa seurata. En löytänyt koodista mitään kritisoitavaa kaikki modelit, viewsit ja formit tekevät mitä niiden kuuluukin tehdä.

Monimutkaisempia tetokantakyselyjä ei ollut kylläkään kuin yksi, jossa etsitään kaikki työntekijät joilla on alle 40h töitä mutta tämä ei oikein tällä hetkellä tee mitään sillä työntekijöille ei voi vielä edes asettaa työtunteja.

Ulkoasu

Sovellus näyttää kivalta ja listat ja lomakkeet on tyylitelty.

Sovelluksen avautuessa käyttäjän voisi ohjata suoraan kirjautumisruutuun sillä tyhjä valkoinen sivu ei ehkä ole ihan paras ensivaikutelma sovelluksesta.

Samoin sovellukseen kirjauduttua sillä voisi olla jokin etusivu johon vasemmassa yläkulmassa oleva sovelluksen nimi linkkaa sillä tällä hetkellä nimi vaikuttaa klikattavalta ja kursori muuttuu pointeriksi mutta linkki ei johdakkaan mihinkään.

Koodikatselmointi

zip ladattu 13.2.2019 klo 9:15

Sovelluksen toiminta selaimella (Heroku)

  • Sovelluksen rakenne on looginen ja kenttien validointi toimii hyvin. Saavutettavuudessa ei mielestäni ole selkeitä ongelmia.
  • Työntekijöiden lisääminen tunteihin ei sovelluksella tällä hetkellä onnistu eikä työntekijä pysty tarkastelemaan omia viikkojaan. Nämä ominaisuudet ovat varmaankin tulossa myöhemmin.
  • Työntekijöiden listausnäkymästä löytyvän painikkeen tarkoitus jäi epäselväksi. Ilmeisesti sillä voi vaihtaa työntekijän aktiivisuuden tilaa, mutta mihin tilan muuttaminen liittyy?
  • Työviikon listausnäkymän muotoilu ei toimi oikein.

Sovelluksen koodi

  • Luokkien ja metodien nimeäminen on johdonmukaista ja kansiorakenne selkeä.
  • Metodissa viikot_create on kohta "viikko.account_id = current_user.id" (rivi 28), jonka tarkoituksena on ilmeisesti liittää nykyinen käyttäjä luotuun viikkoon. Viikko-tietokantataulussa ei kuitenkaan ole account_id -attribuuttia, joten kyseinen komento ei taida tällä hetkellä tehdä mitään.
  • Tietokantakaaviossa kiireellisyysluokka- ja tunti -käsitteiden välille on merkitty yhden suhde moneen -yhteys, mutta itse sovellukseen kyseistä yhteyttä ei ole toteutettu.

Sovelluksen tietokantakaavio

  • Tietokantakaavio vastaa suurelta osin toteutettua tietokantaa.
  • Olisi mielestäni selkeämpää, jos kaaviossa esitellyt attribuutit olisi nimetty samalla tavalla kuin tietokannassakin. Monen taulun kohdalla on nyt niin, että tietokannassa attribuutit ovat englanniksi (esim. name) ja kaaviossa puolestaan suomeksi (nimi).
  • Tietokantakaavioon voisi kaikkien käsitteiden kohdalle lisätä myös date_created ja date_modified -attribuutit, jotka kuitenkin sisältyvät kaikkiin luotuihin tietokantatauluihin.
  • Tietokantakaavioon voisi päivä -käsitteen kohdalle lisätä foreign key -viittauksen viikko -käsitteeseen.
  • Työntekijä -käsitteeseen voisi lisätä attribuutit username ja hallinto.
  • Tietokannan rakenne on tällä hetkellä aika monimutkainen. Voisiko esim. viikon, päivän ja tunnin yhdistää samaan tietokantatauluun? (Ainakin tämänhetkisen toiminnallisuuden perusteella tuntuu siltä, että kaikille tietokantatauluilla ei ole selkeää tarvetta. On tietysti mahdollista, että tilanne tulee myöhemmin muuttumaan eikä tämä ehdotus ole enää järkevä.)

Muuta

  • Dokumentaatiossa on jonkin verran kirjoitusvirheitä.

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.