Giter Site home page Giter Site logo

prosse's Introduction

Prosse - Työprosessien seurantasovellus

Osoite: https://prosse.herokuapp.com/

Testitunnukset:

  • Käyttäjätunnus: testi
  • Salasana: testi

Kuvaus

Sovelluksen avulla voidaan määritellä erilaisista tehtävistä koostuvia työprosesseja sekä seurata näiden etenemistä.

Organisaatiossa on työprosesseja, jotka koostuvat tehtävistä. Sovelluksessa määritellään tehtäviä, muodostetaan tehtävistä työprosesseja ja seurataan prosessien etenemistä tehtäväkohtaisesti.

Prosessista vastaava henkilö määrittelee tehtäviä ja kokoaa niistä työprosesseja. Hän myös määrittää tehtäville tekijät. Lisäksi prosessivastaava saa järjestelmältä raportteja työn etenemisestä ja tehtäviin sekä työprosessiin käytetystä ajasta.

Työntekijät merkkaavat käynnistetyistä prosesseista tehtävät aloitetuiksi ja lopetetuiksi ja voivat myös kommentoida työprosessikierrokseen liittyviä tehtäviä. Koska työntekijä voi tehdä samanaikaisesti töitä usean työprosessin parissa, hän saa järjestelmältä nähtäväkseen raportin, jossa on tietoja hänen tehtävistään (tehdyistä, tekeillä olevista ja hänelle osoitetuista).

Toimintoja:

  • Kirjautuminen
  • Käyttäjien lisääminen/poistaminen/muuttaminen
  • Tehtävien määrittely/poistaminen/muuttaminen
  • Työprosessien kokoaminen tehtävistä
  • Tekijöiden määrittely työprosessiin kuuluville tehtäville
  • Prosessiin kuuluvien tehtävien aloittaminen/lopettaminen
  • Prosessivastaavan raportit
  • Työntekijän raportit

Dokumentaatio

prosse's People

Watchers

James Cloos avatar  avatar

prosse's Issues

Koodikatselmointi #1

Koodikatselmointi #1

Projekti haettu 11:30 13.08.2018.

Palaute

Projekti on hyvällä mallilla ja toteuttaa annettua hyvän rakenteen ja koodauksen mallia erinomaisesti. Applikaation käyttö on selkeää ja suoraviivaista. Toivottavasti tehtävien yhdistäminen prosesseiksi onnistuu jatkossa yhtä hyvin! :)

Pikku vikoja, helppo korjata

  • Prosessi-sivulla sarakkeen nimenä on 'Viimeksi muokattu', vaikka kyseessä taitaa olla prosessin alku- ja loppuajat. Sarakkeet ovat kuitenkin helppo muokata /templates/prosessi/list.html -tiedostosta, ja kyseessä on vain pieni käyttisasia.

  • Ylläolevaan liittyen, osassa näkymistä on ehkä hieman ylimääräisesti näkyvissä luontipäivä ja muokkaustietoa. Jos ne eivät ole olennaisia näkymälle, ehkä esim. juuri työprosessilistauksessa, ne tekevät sivusta helposti tarpeettoman sekavan. Tämä on kuitenkin pitkälti kiinni käyttötarpeesta, ja sittenkin makuasia. :)

  • /auth/forms.py tiedoston kolmannesta luokasta (class KayttajaLisaysLomake(FlaskForm)) puuttuu csrf = False -määrittely.

  • Käyttäjänlisäys-sivulla syötteen validointi ei toimi, esim. käyttäjänimi voi olla vain yhden merkin mittainen. Validointisäännöt on määritelty, mutta /auth/views.py -tiedostosta puuttuu kaavakkeen tietojen validointikutsu. Tämä on kuitenkin tehty oikein esim. /tehtavat/views.py -tiedostossa, joten eikun sieltä mallaamalla korjaamaan.

  • Myöskään työprosessin nimeä ei validoida - joskin tämä on nähtävästi tarkoituksella kommentoitu ulos /prosessi/views.py -tiedostossa riveillä 61 ja 62..? Oletettavasti toiminnallisuuden haluttu toteutus on siis tuossa kohden hieman kesken - parempi näin että kokonaisuus kuitenkin toimii.

  • Ylimääräiset init.py -tiedostot jokaisessa olioalihakemistossa kummastuttavat. Nämä voinee siivota pois huoletta.

Loppukommentti

Projekti on edennyt vaaditun mukaisesti ja tästä on varmasti hyvä jatkaa eteenpäin. Tsemppiä, menestystä ja hyvää lukuvuoden alkua!

Vertaisarviointi #2

Testasin sovellusta ja tässä muutama kommentti siitä:

  • Prosessiin kun lisää tehtävän, niin tehtävä on aloitettu ja valmis defaulttina.
  • Työprosesseista tulee internal server erroria joten en päässyt sitä testaamaan.
  • Jotkut kentät näyttää Nonea esim. https://prosse.herokuapp.com/prosessitehtava/2 sarake "Kommentoija". Nämä yleensä lasketaan bugeiksi

Koodista:

  • Aika paljon kommentteja jotka lähinnä selittävät mitä seuraavalla rivillä tehdään. Nämä ovat turhia sillä asia tulee ilmi koodista. Usein käy myös niin, että kommentit unohtuvat ja koodi muuttuu. Tällöin kommentti johtaa vain harhaan. Parempi siis jättää kokonaan pois.

  • ORM mahdollistaa myös joinit, eli voisit varmaankin tehdän tämän sijasta:

      plista = Prosessi.query.all()
      prosessit = {}
    
      for p in plista:
          omistaja = Kayttaja.query.get(p.owner_id)
          prosessit[omistaja.tunnus] = p
    

    jotain tän tyylistä:

      plista = Prosessi.query.join(Kayttaja).all()
    

    vähemmän koodia :-)

  • Kts esim. prosessitehtava_prosessi_nayta. Tässä tosiaan voisi yhdistää paljon jo kannan tasolla ja koodi yksinkertaistuisi paljon. Funktio on myös järkyttävän pitkä. Huomasin, että sulla ei taida olla yhtään funktiota koodissa joka ei olisi HTTP-käskyn käsittelijä. Materiaali mainitsee tästä huonosti ja ehkä tämä on muiden kurssien asiaa, mutta oikeasti kaikkea yhden käskyn aikana tapahtuvaa toimintaa ei tarvitse sulloa yhteen funktioon.

Tässä tärkeimmät joita kannattaa miettiä. Todella hienosti olet ottanut tän haltuun tässä lyhyessä ajassa. Paikkaat paljon kannan toiminnallisuutta omalla koodilla mikä on turhaa, mutta muuten tää on hieno sovellus ja mikä tärkeintä, se toimii. Lisäksi positiivista on, että sovellus on hyvin organisoitu ja jakaa toiminnallisuuden selkeisiin moduuleihin.

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.