Ova iteracija je bila usmjerena na uvođenje novih naredbi koje bi korisnik mogao koristiti. Nadovezujući se na aktivnosti iz vježbe 2. (unaprijeđena forma za prijavu korisnika, skrivene lozinke, integracija SQLite baze podataka, početak izrade helpa i dodavanje povijesti naredbi), identificiran je problem u procesu testiranja prijave, te su izvršena određena poboljšanja u razvoju. U nastavku su detaljnije opisana poboljšanja.
Dodavanje novih naredbi na strani klijenta
Svaki put prilikom dodavanja i osposobljavanja naredbi na strani klijenta, naredbe se dodaju u helpu te se naznačuju da su funkcionalne s ključnom riječi Radi. Time se prati implementacija i u svakom trenutku se zna što radi a što ne.
1. Dodavanje vremenske komponente (sat i kalendar)⏰
Implementirana je metoda show_current_time, omogućujući neprekidno prikazivanje trenutnog vremena sve dok se ne pritisne CTRL+C. Ova funkcionalnost ostvarena je putem beskonačne petlje koja kontinuirano ažurira prikaz vremena, pri čemu se koristi biblioteka datetime.
Osim toga kreirana je metoda generate_calendar koja generira kalendar za određeni mjesec i godinu, te je označen trenutni dan crvenom bojom.
2. Dodavanje kviza o AKDB-u📝
U postojećoj SQlite bazi kreirana je tablica quiz_questions u koju je uneseno par pitanja i definirani su točni odgovori. Neke funkcionalnosti koje su implementirane: dohvaćanje pitanja i prikaz na strani klijenta, automatsko povećavanje za broj pitanja (1,2,3..), izlaz iz kviza, dodjeljivanje bodova ako je odgovor točan, prikaz ukupnog broja bodova pri završetku kviza, završi kviz ako nema više pitanja u bazi podataka.
Prilikom testiranja uočen problem kod prijave clienta:
korisnik iz prvog puta unosi ispravne korisničke podatke za prijavu i uspješno se autentificira. 🟢
u prvom pokušaju korisnik unosi krive podatke (koji nisu u bazi) pa samim time ne može proći autentifikacija, nakon toga traži ga se da ponovi unos, klijent unosi ispravne podatke i nakon toga dobija error koji ne bi trebao biti i koji onemogućava prijavu. 🔴
Prilikom istraživanja ovog problema, dorađen/detaljiziran je malo exeception kako bi se lakše razumio problem. Konkretno, kada se korisnik prvi put pokuša prijaviti i taj pokušaj bude neuspješan, stari ključ se zadržava lokalno. Kada se sljedeći put korisnik pokuša prijaviti, generira se novi ključ, ali stari ostaje pohranjen na lokalnom sustavu. To rezultirata neuspjehom provjere ključeva, jer su ključevi različiti. Možda postoji neki način kako automatizirati da ako je prvi pokušaj bio neuspješan da se odma taj stari ključ briše. Unatoč tome, trenutno rješavanje ovog problema nije prioritetno, s obzirom na to da prijava funkcionira u slučaju uspješnog prvog pokušaja. Međutim, ovo bi svakako trebalo riješiti u budućim verzijama kako bi se poboljšao sustav.
Ova iteracija je bila usmjerena na uvođenje novih naredbi koje bi korisnik mogao koristiti. Nadovezujući se na aktivnosti iz vježbe 2. (unaprijeđena forma za prijavu korisnika, skrivene lozinke, integracija SQLite baze podataka, početak izrade helpa i dodavanje povijesti naredbi), identificiran je problem u procesu testiranja prijave, te su izvršena određena poboljšanja u razvoju. U nastavku su detaljnije opisana poboljšanja.
Dodavanje novih naredbi na strani klijenta
Radi
. Time se prati implementacija i u svakom trenutku se zna što radi a što ne.1. Dodavanje vremenske komponente (sat i kalendar)⏰
Implementirana je metoda show_current_time, omogućujući neprekidno prikazivanje trenutnog vremena sve dok se ne pritisne CTRL+C. Ova funkcionalnost ostvarena je putem beskonačne petlje koja kontinuirano ažurira prikaz vremena, pri čemu se koristi biblioteka
datetime
.Osim toga kreirana je metoda generate_calendar koja generira kalendar za određeni mjesec i godinu, te je označen trenutni dan crvenom bojom.
2. Dodavanje kviza o AKDB-u📝
Prilikom testiranja uočen problem kod prijave clienta: