Características clave
1. Autenticación de usuario
A aplicación garante que só o persoal autorizado poida acceder ás funcións de asistencia:
Sistema de inicio de sesión: os usuarios inician sesión coas súas credenciais, que poden incluír un correo electrónico e un contrasinal ou unha verificación biométrica.
Acceso baseado en roles: administradores, xestores e empregados teñen un acceso personalizado aos datos e funcións en función dos seus roles.
2. Sistema de punch-in e punch-out
Os empregados poden rexistrar as súas horas de traballo co seguinte contido:
Punch-In: ao comezo da súa xornada laboral, os usuarios poden marcar a súa asistencia.
Punch-Out: ao final da súa quenda, os usuarios rexistran a súa saída.
Modo sen conexión: en caso de problemas de rede, a aplicación almacena os datos de asistencia localmente e sincronízaos co servidor unha vez que se restableza a conectividade.
3. Seguimento da localización
A aplicación obtén a localización do usuario en tempo real durante a entrada e a saída para garantir que a asistencia se rexistra con precisión:
Precisión da localización: usa GPS e API (por exemplo, Google Maps ou Ola API) para obter coordenadas de localización precisas.
Geofencing: alerta aos usuarios se están fóra da localización permitida cando intentan rexistrar a asistencia.
4. Captura de imaxes
Para evitar a asistencia de representantes:
A aplicación toma unha selfie durante o punch-in e o punch-out.
As imaxes gárdanse de forma segura, vinculadas aos rexistros dos usuarios.
5. Gravación de data e hora
A aplicación rexistra automaticamente a data e a hora dos eventos de perforación:
Asegura o cumprimento dos horarios de traballo.
Proporciona un selo de tempo para cada entrada de asistencia.
6. Xestión de datos
Todos os datos capturados almacénanse de forma segura:
Deseño de base de datos: inclúe táboas para usuarios, rexistros de asistencia e datos de localización.
Almacenamento seguro: implementa o cifrado para protexer información confidencial como imaxes e localizacións dos usuarios.
7. Panel de control para administradores
A aplicación inclúe un panel de control para que os administradores:
Ver rexistros de asistencia.
Xerar informes (diarios, semanais ou mensuais).
Exportar datos para fins de nómina e cumprimento.
Fluxo de traballo
1. Acceso de usuario
Os usuarios abren a aplicación e introducen as súas credenciais de inicio de sesión.
Despois da autenticación exitosa, diríxense á pantalla de inicio, que mostra as opcións de punch-in e punch-out.
2. Proceso de punch-in
Paso 1: o usuario toca o botón "Punch-In".
Paso 2: a aplicación obtén a localización actual mediante o GPS ou as API do dispositivo.
Paso 3: captúrase unha selfie para verificar a presenza do usuario.
Paso 4: a data e a hora actual rexístranse automaticamente.
Paso 5: todos os datos recollidos (localización, imaxe, data e hora) almacénanse na base de datos local ou envíanse ao servidor.
3. Proceso de punch-out
O proceso de punch-out é idéntico ao punch-in, excepto que rexistra a hora de saída.
4. Sincronización de datos
Cando está fóra de liña, os rexistros de asistencia almacénanse localmente mediante tecnoloxías como SQLite ou Hive.
Cando se restablece a conectividade a Internet, a aplicación sincroniza os datos co servidor remoto.
5. Acceso ao panel de administración
Os administradores poden iniciar sesión nun portal separado para xestionar e analizar os datos de asistencia.
Os filtros de datos permítenlles ver rexistros específicos de empregados ou xerar informes.
Arquitectura Técnica
Frontend
Framework: Flutter para o desenvolvemento multiplataforma.
IU: interfaces intuitivas e sinxelas para empregados e administradores.
Funcionalidade sen conexión: integración con Hive ou SharedPreferences para o almacenamento de datos sen conexión.
Backend
Framework: FastAPI ou Node.js para crear API.
Base de datos: PostgreSQL ou MongoDB para almacenar datos de usuarios e asistencia.
Almacenamento: almacenamento na nube (por exemplo, AWS S3) para imaxes e datos confidenciais cifrados.
APIs
API de autenticación: xestiona o inicio de sesión e a validación do usuario.
API Punch-In/Out: rexistra os datos de asistencia e gárdao na base de datos.
API de sincronización: garante que os datos sen conexión se carguen no servidor cando están en liña.
Medidas de seguridade
Cifrado de datos: cifra información confidencial como imaxes e coordenadas GPS.
Autenticación baseada en tokens: usa JWT para o acceso seguro ás API.
Xestión de roles: garante que os usuarios só poidan acceder a datos e funcións relevantes para a súa función.
Última actualización
4 de mar. de 2025