foivz / rampu22-rvrduka-dzebcevic-mtomasic-irosic

rampu22-rvrduka-dzebcevic-mtomasic-irosic created by GitHub Classroom
0 stars 0 forks source link

F04 - Generiranje računa #8

Closed mtomasic2 closed 1 year ago

mtomasic2 commented 1 year ago

Sustav će generirati račune stanarine za svakog stanara na temelju određenog datuma, koji će biti početak mjeseca. Računi će imati jedinstveni identifikator te podatke o mjesecu i godini za koje se mora podmiriti stanarina. Također, svaki račun će imati atribut koji će označavati je li račun plaćen ili neplaćen, a koji će se ažurirati nakon obavljene transakcije. Prilikom služenog useljenja, sustav će obavezno generirati prvi račun za stanara. Važno je da svaki stanar dobije po jedan račun za svaki mjesec i da može vidjeti samo svoje račune, a ne račune drugih stanara.

Potrebno je izraditi:

mtomasic2 commented 1 year ago

Prilikom testiranja na zasebnim granama za svaku funkcionalnost, u AndroidManifest.xml datoteci važno je promijeniti Activity koji će se prvi pokretati. <intent-filter> je potrebno je prebaciti u Activity koji želimo da se prvi pokreće. Bilo bi dobro da se promjene nad AndroidManifest.xml ne commitaju.

Prije: Image

Poslije Image

mtomasic2 commented 1 year ago

Za početak, za potrebe popisa računa, kreiran je prikaz jednog računa sa osnovnim informacijama, koji će služiti kao neki template pri izradi cijelog popisa.

Image

mtomasic2 commented 1 year ago

Testiranje i instanciranje konekcije sa bazom pomoću upisa nekih podaka. Testirano unutar RentManagerActivity-a, kasnije obrisano. Primjer se nalazi ispod.

Image

Image

mtomasic2 commented 1 year ago

Implementirano dohvaćanje podataka iz Firebase Firestore baze, pri ćemu je implementiran i prikaz plaćenih i neplaćenih računa za određenog korisnika. Ispod je slika zaslona mojeg pametnog telefona jer iz nekog razloga nedefiniranog razloga Android Studio ne želi pokrenuti Emulator.

image

mtomasic2 commented 1 year ago

Jedna jako zanimljiva obzervacija prilikom implementacije generiranja računa, naime kod najobičnije provjere rezultata query-a pomoću kojeg se dohvaćaju i filtriraju podaci iz baze, točnije najamnine i unutar kojeg želimo da se generira račun ako već ne postoji, ako bi stavili ispis (Log.d) i generiranje računa, jedan te isti račun bi se kreirao dvaput u bazi, a ako bi stavili samo generiranje onda radi normalno.

image

mtomasic2 commented 1 year ago

Riješen je problem u kojem bi više različitih generiranih računa imalo isti identifikator. Prije rješenja tog problema, bilo je mogućeno pronaći jedinstven račun, budući da nije bilo računa sa u isto vrijeme istim identifikatorom, mjesecom i godinu za koju se stanarina mora podmiriti.

mtomasic2 commented 1 year ago

Bug otkriven. Ponekad kad se generiraju novi računi, na prvu treba se prebaciti na drugi fragment, koji u našem slučaju služi za prikaz plaćenih računa, kako bi se vidjela promjena u listi računa. Na svu sreću, u bazi je vidljiva promjena.

mtomasic2 commented 1 year ago

Za potrebe testiranja, iz baze je uzet email stanara (koji je jedistven), kako bi se dohvatili i prikazali računi stanara.

mtomasic2 commented 1 year ago

Potrebno je napraviti prikaz za stanodavca gdje će moći vidjeti sve račune.

mtomasic2 commented 1 year ago

Implementirano da stanodavac može vidjeti račune od svojih stanara. (https://github.com/foivz/rampu22-rvrduka-dzebcevic-mtomasic-irosic/commit/42a424b41f7232bddf7baf23fae37ce85c353f9f)

Ovisno o trenutnoj ulozi korisnika (stanar ili stanodavac), prikazivat će se računi. Stanar će moći vidjeti samo svoje račune, dok će vlasnik vidjeti sve račune.

mtomasic2 commented 1 year ago

U Navigation Draweru dodana je funkcija koja omogućuje stanodavcu da jednostavno pristupi listi svih računa svojih stanara. Ova poboljšana funkcionalnost i jednostavnost korištenja čine proces bržim i lakšim za stanodavca, umanjujući potrebu za dodatnim koracima i traženjem informacija. (https://github.com/foivz/rampu22-rvrduka-dzebcevic-mtomasic-irosic/commit/bdcd792e3d8a333a64cc0a7200ab311c356a4a58)

mtomasic2 commented 1 year ago

Klasa HelperClass je implementirana kako bi se optimizirala funkcionalnost i pojednostavnila upotreba koda u aplikaciji. Funkcija navigateToNextScreen omogućuje brzu i jednostavnu navigaciju kroz aplikaciju na temelju uloge trenutnog korisnika. Uključivanjem ove funkcije, također je uklonjen višak koda. (https://github.com/foivz/rampu22-rvrduka-dzebcevic-mtomasic-irosic/commit/0dce36627d9f5ccead4d22bce2814cd6f35e7267 i https://github.com/foivz/rampu22-rvrduka-dzebcevic-mtomasic-irosic/commit/4589612384ad4cd843642737e9959f15b20905d3)

mtomasic2 commented 1 year ago

Implementirana korekcija u kodu, tako da se ispravno prikazuje ime i prezime sudionika razgovora u supportActionBar-u. Do pojave greške dolazilo je zbog zabune u definiciji, pa su se pri prikazu naziva razgovora sa stanarom u supportActionBar-u prikazivali naziv "owner", umjesto ime i prezime stanara. Sada je ta greška ispravljena, te se ispravno prikazuje ime i prezime sudionika u razgovoru. (https://github.com/foivz/rampu22-rvrduka-dzebcevic-mtomasic-irosic/commit/46278efa947f25d6cb2dd80e22750d0bcdf3433c).