Coder Social home page Coder Social logo

ziacka-knizka---projekt's Introduction

Žiacka Knižka logo - Peter Stríž

Ako program používať?

  • Po spustení programu zadá daný používateľ svoje prihlasovacie údaje a bude presmerovaný na jemu prislúchajúce okno. Všetci používatelia budú mať rovnaké menu v ktorom budú vidieť svoje meno a rôzne nastavenia. hlavne_menu

  • Žiak si môže prezerať svoje známky v predmete ktorý si vyberie. ziak_okno

  • Učiteľ môže sledovať, upravovať a pridávať známky, len žiakom ktorých vyučuje. ucitel_okno

  • Riaditeľ môže vytvárať nových používateľov a nové triedy, ktorým môže neskôr priradiť žiakov a učiteľa. riaditel_okno

Ukážkové prihlasovacie údaje

  • Žiak: striz98 heslo

  • Učiteľ: simova heslo

  • Riaditeľ: pistek heslo

Hlavné kritéria:

  • Dedenie: V Pouzivatel -> Ziak, Ucitel, Riaditel (tu)

  • Polymorfizmus:

    • ScenaInterface -> nastav() - Každá jedna Scena si nastaví úplne iné hodnoty (tu)
    • Pri vypisovani typu pouzivatela pri vyhladavani informacii (tu)
  • Agregácia: Trieda obsahuje pole Ziak-ov (tu)

  • Oddelenie aplikačnej logiky: Každá Scena má svojho Manazer-a, ktorý vykonáva jednotlivé metódy (tu)

  • Zapuzdrenie: Všetky premenné sú private

  • Serializácia: Pri prihlasovaní a odhlasovaní používateľov (tu)

Ďalšie kritériá:

  • Použitie návrhových vzorov:

    • Strategy: Na prepínanie medzi jednotlivými scénami (tu, tu a tu)
    • Visitor: Pri login aby som vedel že na akú scénu sa mám prepnúť podľa typu používateľa (tu a tu)
  • Multithreading: Pri serializácii údajov (tu)

  • Vhniezdená trieda: Pri vlastnej výnimke (tu)

  • Vhniezdený interface: Pri vypise typu vynimky (tu)

  • Explicitné použitie RTTI: V RiaditelManazer pri vytváraní nových používateľov (tu)

  • Použitie lambda výrazov:

    • V gui pri ActionListeneroch v Button
    • Pri vytváraní novej Nite pri serializacií (tu)
  • Použitie vlastnej výnimky: V Manazer pre Ucitel na otestovanie či slovo nieje v neplatnom formáte (tu)

  • Použitie aspektovo-orientovaného programovania: Pri počítaní priemeru žiakov (tu)

Dokumentácia:

  • Zámer projektu
    Klik!

      Cieľom môjho projektu je vytvoriť žiacku knižku, v ktorej bude mať možnosť žiak pozerať si svoje výsledky v prehľadnej tabuľke. Počas svojho štúdia bude vedieť sledovať výsledky z písomiek a rôznych testov, a zároveň akú známku môže približne očakávať na konci roka.
      Učiteľ bude môcť pridávať a meniť známky jednotlivých žiakov. Taktiež by mal vedieť pridávať absencie žiakov z vyučovania. Upravovať hodnoty bude vedieť iba tým žiakom, ktorých vyučuje.
      Riaditeľ by vedel upravovať, ktorý učiteľ bude vyučovať ktorú triedu a ktorí žiaci patria do jednotlivých tried. Celá žiacka knižka by mala mať jednoduchý user interface. Bude tam login podľa údajov ktoré používatelia dostanú vopred vygenerované. Heslo by si mali neskôr možnosť zmeniť sami.
      V neskorších verziách by si mohli používatelia vyhľadať iného používateľa, a boli by presmerovaný na ich profil, kde by boli ich kontaktné údaje.

História commitov

  1. Initial commit
  2. prvotne pridavanie classov a packageov
  3. pridana zakladna struktura 'znamky', a constructor, upravene 'predmet' a pridany constructor
  4. pridany gitignore
  5. pridana class 'Trieda', premenovane nazvy class-ov, pridany zakladny tes t vypisu mena
  6. pridane zakladne GUI, a pridana class na 'userlogin'
  7. pridany userlogin, ktory vrati objekt prihlaseneho pouzivatela
  8. pridany zamer projektu
  9. zmeneny sposob zapamatavania si pouzivatelov
  10. login okno a normalne okno sa meni podla toho ci je niekto prihlaseny, p ridane construcory v 'ziak' pre 'predmet'
  11. pridany druhy 'scene', zmemene vsetky 'array' -> 'arrayList'
  12. 'znamky' su vypisane po prihlaseni v tabulke, 'ucitel' a 'ziak' su odter az pod interface 'pouzivatel', pridane pridavanie predmetov a znamok ku konkretn ym 'ziakom'
  13. pridane vykreslovanie 'tabulky' pre 'ucitela' ked sa prihlasi podla toho ktorych studentov vyucuje; pokus o serializaciu (neuspesne)
  14. refaktor v sposobe interakcie medzi 'ziak', 'ucitel', 'trieda'; v 'znamk a' pridany konvertor 'String -> Date'; lahsi pristup v 'ziackaKnizka' na nacitav anie 'pouzivatelov'
  15. 'tabulka' sa da editovat 'ucitelom', ktory vie taktiez pridat novu 'znma ku' 'ziakovi'
  16. sceny su teraz rozdelene vo viacerych suboroch, a pouzivaju navrhovy vzo r Strategy
  17. pridany navrhovy vzor Singleton na pamatanie si Stage, ZiackaKnizka; odd elenie GUI od Aplikacknej casti; pridany uplne zakladny MenuBar a obrazky ku nem u
  18. zmenene nazvy clssov; pridany Riaditel ktory vie vytvorit noveho Pouziva tela, a vie ho pridat do Tried
  19. Riaditel vie priradit k Triede Ucitela; UMLET pridany, ale este prazdny
  20. pridana serializacia, pri odhlasovani Pouzivatelov
  21. Riaditel vie pridavat Predmety do Triedy
  22. pridane Menu a refaktor vo vykreslovani ZiakScena a UcitelScena
  23. pridany navrhovy vzor Visitor na vytvaranie novych scen v ManazerLogin; pridany diagram tried
  24. kazdy Pouzivatel uz moze pouzivat Menu, v ktorom si vie vyhladat ineho P ouzivatela a jeho email
  25. udaje z UserLogin su odteraz v OsobneUdaje; pridany javadoc pre package Pouzivatel a ZiackaKnizka
  26. oddelenie aplikacnej logiky od user interface; pridany javadoc aj do gui ; oddelenie class-ov do package-ov pre lepsiu prehladnost
  27. quick fix pri nacitavani novych pouzivatelov
  28. Update README.md
  29. vlastna vynimka pri testovanie slova v ManazerUcitel; novy Thread je ter az vytvoreny pomocou lambda vyrazu
  30. updatovane README.md
  31. Pouzivatelia si vedia menit svoj email a heslo
  32. pridane logo pre ZackuKnizku; pridane okomentovanie pre zvysok kodu; upr aveny diagram tried pre lepsiu prehladnost
  33. updatovane Readme; pridany aspekt na pocitanie priemeru znamok
  34. opraveny nespravny nazov priecinka s pouzivatelmi
  35. pridane obrazky na dokumentaciu
  36. updatovane Readme
  37. pridany obrazok na schemu
  38. pridany subor na spustanie celeho programu
  39. fixnute meno priecinku, lebo git je nie velmi inteligentny co sa tyka premenovavania suborov
  40. pridany vypis typu pouzivatela pri vyhladavani informacii
  41. pridany vnoreny interface pri vlastnej vynimke; updatovany javadoc
  42. updatovane Readme

ziacka-knizka---projekt's People

Contributors

peterstriz avatar

Watchers

 avatar

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.