Ključne značajke
1. Autentifikacija korisnika
Aplikacija osigurava da samo ovlašteno osoblje može pristupiti značajkama prisutnosti:
Sustav prijave: Korisnici se prijavljuju svojim vjerodajnicama, koje mogu uključivati e-poštu i lozinku ili biometrijsku provjeru.
Pristup temeljen na ulogama: Administratori, upravitelji i zaposlenici imaju prilagođeni pristup podacima i značajkama na temelju svojih uloga.
2. Punch-In i Punch-Out sustav
Zaposlenici mogu evidentirati svoje radno vrijeme sa sljedećim:
Punch-In: Na početku radnog dana korisnici mogu označiti svoje prisustvo.
Punch-Out: Na kraju smjene korisnici bilježe svoj odlazak.
Izvanmrežni način rada: U slučaju problema s mrežom, aplikacija lokalno pohranjuje podatke o posjećenosti i sinkronizira ih s poslužiteljem nakon ponovnog uspostavljanja veze.
3. Praćenje lokacije
Aplikacija dohvaća korisnikovu lokaciju u stvarnom vremenu tijekom punch-in i punch-out kako bi osigurala da se prisutnost točno bilježi:
Točnost lokacije: koristi GPS i API-je (npr. Google Maps ili Ola API) za dohvaćanje preciznih koordinata lokacije.
Geofencing: upozorava korisnike ako su izvan dopuštene lokacije kada pokušavaju zabilježiti prisutnost.
4. Snimanje slike
Kako biste spriječili prisutnost posrednika:
Aplikacija snima selfie tijekom punch-in i punch-out.
Slike su pohranjene na siguran način, povezane s korisničkim zapisima.
5. Snimanje datuma i vremena
Aplikacija automatski bilježi datum i vrijeme događaja bušenja:
Osigurava poštivanje rasporeda rada.
Daje vremensku oznaku za svaki unos prisutnosti.
6. Upravljanje podacima
Svi snimljeni podaci pohranjuju se na siguran način:
Dizajn baze podataka: uključuje tablice za korisnike, evidenciju o prisutnosti i podatke o lokaciji.
Sigurna pohrana: Implementira enkripciju za zaštitu osjetljivih informacija poput korisničkih slika i lokacija.
7. Nadzorna ploča za administratore
Aplikacija ima nadzornu ploču za administratore da:
Pregledajte zapisnike o prisutnosti.
Generirajte izvješća (dnevna, tjedna ili mjesečna).
Izvoz podataka za obračun plaća i usklađenost.
Tijek rada
1. Prijava korisnika
Korisnici otvaraju aplikaciju i unose svoje vjerodajnice za prijavu.
Nakon uspješne provjere autentičnosti, oni se usmjeravaju na početni zaslon koji prikazuje opcije punch-in i punch-out.
2. Proces uboda
Korak 1: Korisnik dodiruje gumb "Punch-In".
Korak 2: Aplikacija dohvaća trenutnu lokaciju pomoću GPS-a ili API-ja uređaja.
3. korak: snima se selfie kako bi se potvrdila prisutnost korisnika.
Korak 4: Trenutačni datum i vrijeme automatski se bilježe.
Korak 5: Svi prikupljeni podaci (lokacija, slika, datum i vrijeme) pohranjuju se u lokalnu bazu podataka ili šalju na poslužitelj.
3. Proces izbijanja
Proces punch-out je identičan punch-in, osim što bilježi vrijeme polaska.
4. Sinkronizacija podataka
Kada su izvan mreže, zapisi o prisutnosti pohranjuju se lokalno pomoću tehnologija kao što su SQLite ili Hive.
Kada se uspostavi internetska veza, aplikacija sinkronizira podatke s udaljenim poslužiteljem.
5. Administratorski pristup nadzornoj ploči
Administratori se mogu prijaviti na poseban portal za upravljanje i analizu podataka o posjećenosti.
Podatkovni filtri omogućuju im pregled određenih evidencija zaposlenika ili generiranje izvješća.
Tehnička arhitektura
Frontend
Okvir: Flutter za razvoj na više platformi.
UI: Intuitivno i jednostavno sučelje za zaposlenike i administratore.
Izvanmrežna funkcionalnost: Integracija s Hive ili SharedPreferences za izvanmrežnu pohranu podataka.
Pozadina
Framework: FastAPI ili Node.js za izradu API-ja.
Baza podataka: PostgreSQL ili MongoDB za pohranu podataka o korisnicima i posjećenosti.
Pohrana: Pohrana u oblaku (npr. AWS S3) za slike i šifrirane osjetljive podatke.
Apis
API za autentifikaciju: upravlja prijavom i provjerom valjanosti korisnika.
Punch-In/Out API: Bilježi podatke o posjećenosti i sprema ih u bazu podataka.
API za sinkronizaciju: osigurava prijenos izvanmrežnih podataka na poslužitelj kada su na mreži.
Sigurnosne mjere
Enkripcija podataka: šifrirajte osjetljive informacije poput slika i GPS koordinata.
Autentifikacija na temelju tokena: koristi JWT za siguran pristup API-jima.
Upravljanje ulogama: osigurava da korisnici mogu pristupiti samo podacima i značajkama relevantnim za njihovu ulogu.