Főbb jellemzők
1. Felhasználói hitelesítés
Az alkalmazás biztosítja, hogy csak az arra jogosult személyek férhessenek hozzá a jelenléti funkciókhoz:
Bejelentkezési rendszer: A felhasználók hitelesítő adataikkal jelentkeznek be, amelyek tartalmazhatnak e-mailt és jelszót vagy biometrikus ellenőrzést.
Szerepkör alapú hozzáférés: Az adminisztrátorok, vezetők és alkalmazottak személyre szabott hozzáférést kapnak az adatokhoz és funkciókhoz szerepkörük alapján.
2. Be- és kilyukasztó rendszer
Az alkalmazottak a következőkkel rögzíthetik munkaidejüket:
Beütés: Munkanapjuk elején a felhasználók megjelölhetik részvételüket.
Kiütés: A műszak végén a felhasználók naplózzák távozásukat.
Offline mód: Hálózati problémák esetén az alkalmazás helyben tárolja a jelenléti adatokat, és a kapcsolat helyreállítása után szinkronizálja azokat a szerverrel.
3. Helykövetés
Az alkalmazás lekéri a felhasználó valós idejű tartózkodási helyét a be- és kiütés során, hogy biztosítsa a jelenlét pontos naplózását:
Helymeghatározás pontossága: GPS-t és API-kat (pl. Google Maps vagy Ola API) használ a pontos helykoordináták lekéréséhez.
Geofencing: Figyelmezteti a felhasználókat, ha a megengedett helyen kívül vannak, amikor megpróbálják naplózni a jelenlétet.
4. Képrögzítés
A meghatalmazott részvételének megakadályozása érdekében:
Az alkalmazás szelfit készít be- és kiütés közben.
A képeket biztonságosan tároljuk, összekapcsolva a felhasználói rekordokkal.
5. Dátum és idő rögzítése
Az alkalmazás automatikusan rögzíti az ütési események dátumát és időpontját:
Biztosítja a munkarend betartását.
Időbélyegzőt ad minden jelenléti bejegyzéshez.
6. Adatkezelés
Minden rögzített adatot biztonságosan tárolunk:
Adatbázis tervezés: Tartalmazza a felhasználók táblázatait, a jelenléti rekordokat és a helyadatokat.
Biztonságos tárolás: Titkosítást valósít meg az érzékeny információk, például a felhasználói képek és helyek védelme érdekében.
7. Irányítópult rendszergazdáknak
Az alkalmazás irányítópulttal rendelkezik az adminisztrátorok számára:
Jelenléti naplók megtekintése.
Jelentések készítése (napi, heti vagy havi).
Adatok exportálása bérszámfejtési és megfelelési célokra.
Munkafolyamat
1. Felhasználói bejelentkezés
A felhasználók megnyitják az alkalmazást, és megadják bejelentkezési adataikat.
Sikeres hitelesítés után a kezdőképernyőre kerülnek, amely megjeleníti a be- és kiütési lehetőségeket.
2. Beütési folyamat
1. lépés: A felhasználó megérinti a "Punch-In" gombot.
2. lépés: Az alkalmazás lekéri az aktuális helyet az eszköz GPS-je vagy API-ja segítségével.
3. lépés: Szelfi készül a felhasználó jelenlétének ellenőrzésére.
4. lépés: Az aktuális dátum és idő automatikusan rögzítésre kerül.
5. lépés: Az összes összegyűjtött adatot (hely, kép, dátum és idő) a helyi adatbázisban tárolja, vagy elküldi a szervernek.
3. Kiütési folyamat
A kiütési folyamat megegyezik a beütéssel, azzal a különbséggel, hogy naplózza az indulási időt.
4. Adatszinkronizálás
Offline állapotban a jelenléti rekordok helyben tárolódnak olyan technológiák segítségével, mint az SQLite vagy a Hive.
Amikor az internetkapcsolat helyreáll, az alkalmazás szinkronizálja az adatokat a távoli szerverrel.
5. Hozzáférés a rendszergazdai irányítópulthoz
Az adminisztrátorok bejelentkezhetnek egy külön portálra a jelenléti adatok kezeléséhez és elemzéséhez.
Az adatszűrők lehetővé teszik számukra, hogy megtekintsenek bizonyos alkalmazotti rekordokat, vagy jelentéseket készítsenek.
Műszaki építészet
Frontend
Keretrendszer: Flutter a platformok közötti fejlesztéshez.
UI: Intuitív és egyszerű felületek az alkalmazottak és a rendszergazdák számára.
Offline funkciók: Integráció Hive vagy SharedPreferences szolgáltatással az offline adattároláshoz.
Háttérrendszer
Keretrendszer: FastAPI vagy Node.js API-k építéséhez.
Adatbázis: PostgreSQL vagy MongoDB a felhasználói és jelenléti adatok tárolására.
Tárolás: Felhőalapú tárhely (pl. AWS S3) képek és titkosított érzékeny adatok számára.
API-k
Hitelesítési API: Kezeli a bejelentkezést és a felhasználó érvényesítését.
Punch-In/Out API: Rögzíti a jelenléti adatokat és elmenti az adatbázisba.
Sync API: Biztosítja, hogy az offline adatok feltöltésre kerüljenek a szerverre online állapotban.
Biztonsági intézkedések
Adattitkosítás: titkosítja az érzékeny információkat, például képeket és GPS-koordinátákat.
Token-alapú hitelesítés: JWT-t használ az API-khoz való biztonságos hozzáféréshez.
Szerepkör kezelése: Biztosítja, hogy a felhasználók csak a szerepükhöz kapcsolódó adatokhoz és funkciókhoz férhessenek hozzá.