Tema: internetinė plaukų priemonių parduotuvė.
- Java
- JavaFX21
- openJDK21
- Bootstrap
- Maven
- Intellij IDEA
- Gluon Scene Builder
- Lombok
- SqlConnectorJ
- XAMPP
- MySQL
- Github
- Springboot
Kuriama parduotuvė, prie šios kuriamos sistemos jungiasi vartotojai. Vartotojai yra kelių tipų, klientai gali registruotis patys, darbuotojus registruoja administratoriai. Galima peržiūrėti prekes, jas pirkti, atšaukti užsakymą, priskirti atsakingus vadybininkus, patvirtinti užsakymą, valdyti prekes, vartotojus ir t.t. Prie prekių ir užsakymo galima palikti komentarus, komentarai prie prekių yra neribojamo gylio, galima palikti įvertinimą. Prekės saugomos sandėliuose/parduotuvėse, jų gali būti keli. Sistemos realizavimui keliami pagrindiniai reikalavimai:
- Sistema turi vartotojus, kurie prisijungdami prie sistemos autentifikuojasi ir pasiekia tik jiems skirtus duomenis (Pavyzdžiui, klientai negali matyti sistemos vartotojų, tačiau mato savo užsakymus, prekes. Darbuotojai, mato visus vartotojus, bet negali jų keisti, tik savo duomenis. Darbuotojai skirtingų lygių ir skirtingas funkcijas gali matyti ir atlikti ir pan.)
- Vartotojai yra bent 2 tipų – klientai ir parduotuvės darbuotojai (būtina išsaugoti vardą, pavardę, kontaktinę informaciją, gimimo datą ir t.t.). Tiek klientai, tiek darbuotojai turi požymių bendrų abiem, tačiau ir kažkuo skiriasi. Jungiamasi su prisijungimo vardu ir slaptažodžiu, slaptažodis duomenų bazėje turi būti hashed
- Pirkėjai renkasi prekes iš galimų prekių sąrašo, palieka įvertinimus ir komentarus apie prekes, gali parašyti prie užsakymo. Peržiūri savo pirkinių istoriją, gali atšaukti vykdomus užsakymus, apmokėti užsakymą ir pan
- Visas redagavimo teises turi administratoriai (kaip realizuosite, Jūsų pasirinkimas)
- Parduotuvės darbuotojai pilnai valdo užsakymus (negali tik ištrinti jau įvykdytų ar vykdomų užsakymų), pilnai valdo prekes bei informaciją apie parduotuves. Darbuotojai priskiria atsakingą už užsakymą darbuotoją, jį galima pakeisti. Visi nepriskirti užsakymai yra matomi visiems darbuotojams ir jie gali “pasiimti” užsakymą. Jei užsakymo nepasiima niekas per vieną darbo dieną, jis turi būti iškeltas ir pažymėtas kaip skubus, kad jį kuo greičiau pamatytų
- Tiek klientai, tiek pardavėjai gali rašyti ir atsakyti į kitus komentarus prie prekių. Prie užsakymo yra paprasta susirašinėjimo galimybė
- Komentarų gylis prie prekių yra neribojamas
- Galima filtruoti užsakymus pagal sukūrimo datas (intervale kažkokiame), statusus, klientus ir pan. Pasirinkite bent 3 požymius pagal ką filtruosite
- Sistemą turi sudaryti dvi posistemės: darbalaukio ir internetinė sistema (web server)
- Remiantis kursinio darbo užduotimis, suprojektuoti sistemos klasių diagramą, kuri atitiktų objektinio programavimo principus ir leistų paprastai kurti ir valdyti visus projekto objektus
- Aprašyti visas suprojektuotas klases, su tinkamai parinktais klasių kintamaisiais, jų tipais. Turi būti nemažiau kaip 2 tarpusavyje besisiejančios (pageidautinas kompozicijos ar agregacijos ryšys) klasės
- Kiekvienai iš sukurtų klasių reikia realizuoti CRUD (C – create, naujo objekto kūrimas ar sudedamojo objekto pridėjimas; R – read, duomenų apie objektą gavimas; U – update, objekto duomenų atnaujinimas; D – delete, objekto šalinimas (ne tiek objekto naikinimas, kiek jį sudarančių kitų objektų šalinimas)) funkcijas. Vartotojui turi būti leidžiama valdyti (vykdyti CRUD funckijas) su visais sistemos objektais.
- Reikia sukurti grafinę vartotojo sąsają. Grafinės sąsajos išvaizda gali būti kokia norite, bet turėtų būti panaudoti šie komponentai:
- Vienas pagrindinis langas ir bent po 1 iššokantį (perspėjimo ar klaidos pranešimą, spalvos ar failo pasirinkimo dialogą) ir 1 papildomą langą
- Panaudotas meniu arba tab'ų juosta, atskirų sistemos dalių valdymui
- Naudojami standartiniai elementai, tokie kaip duomenų įvedimo laukai, mygtukai ir pan
- Panaudoti sudėtingesni grafiniai elementai, tokie kaip lentelė, pasirinkimų sąrašas (su sugeneruotomis iš turimų duomenų reikšmėmis, o ne statinėmis) ir pan
- Realizuota duomenų įvedimo kontrolė ir klaidų pranešimai
- CRUD funkcionalumas grafinėje vartotojo sąsajoje
- Prisijungimas prie duomenų bazės ir atsijungimas nuo jos
- Duomenų gavimas iš duomenų bazės (tik pilno, tiek ir filtruoto, atrinkto)
- Duomenų įrašymas į duomenų bazę
- Duomenų šalinimas iš duomenų bazės
- Duomenų redagavimas duomenų bazėje
- Web serviso veikimas (galima kreiptis ir gauti atsakymą)
- Duomenų gavimas html, json ar kitu formatu
- Parametrų, duomenų perdavimas į serverį
- Savo ankstesnių laboratorinių darbų panaudojimas sistemos funkcionalumo perkėlimui į web