SE NECESITA AGREGAR FUNCIONALIDADES A UNA APLICACIÓN YA CREADA DE REGISTRO DE ENTRADA/SALIDA DE EMPLEADOS

Job ID: 38509413

Budget: $750 – $1,500 USD

Sistema de control de asistencia de empleados, se divide en 4 software importantes:
• El landing o página web.
• Colaboradores.
• Administrador.
• La API.
Instalación Landing
El código esta desarrollado en Angular.
Instalación Colaboradores
El código esta desarrollado en Angular.
Instalación Administrador
El código esta desarrollado en Angular.
Instalación Backend
El código esta desarrollado en nodejs.

Debe ser un aplicativo web, pero deberá ser responsive porque se va a empaquetar para Android y iOS.

FUNCIONALIDADES QUE AGREGAR:

1. Validación Facial y Registro de Fotos de Usuario
Objetivo: Implementar tecnología de reconocimiento facial para validar la identidad de los empleados y permitir el registro de fotos para un registro preciso de entradas y salidas.
Integración de Reconocimiento Facial:
• Integrar un SDK/API de reconocimiento facial para capturar y verificar las caras de los usuarios durante el registro de entrada y salida.
• Asegurar la validación en tiempo real y la comparación de datos faciales con los perfiles registrados.
Registro de Fotos de Usuario:
• Proporcionar una interfaz fácil de usar para que los empleados suban sus fotos de perfil durante el registro.
• Permitir la captura de fotos usando la cámara del dispositivo o la carga desde la galería del dispositivo.
• Implementar controles de calidad de imagen (por ejemplo, visibilidad clara de la cara, buena iluminación) durante el registro de fotos.

2. Asignación de Tareas con Seguimiento de Estado
Objetivo: Permitir a los gerentes asignar tareas a los empleados y seguir su progreso con actualizaciones de estado.
Asignación de Tareas:
• Proporcionar una interfaz para que los gerentes creen y asignen tareas a los empleados.
• Incluir campos para descripción de la tarea, fecha, hora y empleado asignado.
Seguimiento del Estado de la Tarea:
• Permitir a los empleados actualizar el estado de sus tareas: Asignada, En Proceso, Completada y Cancelada.
• Mostrar el estado de la tarea en un panel de control.
Notificaciones:
• Enviar notificaciones a los empleados cuando se les asigne una tarea.
• Notificar a los gerentes cuando las tareas se actualicen o completen.
• Las actualizaciones de estado deben reflejarse en tiempo real para un seguimiento preciso.

3. Asignación de Ubicaciones a Cada Usuario
Objetivo: Asignar ubicaciones (GEOFENCING API) específicas a los empleados para rastrear sus ubicaciones de trabajo durante los registros de entrada/salida.
Asignación de Ubicaciones:
• Permitir a los gerentes asignar ubicaciones de trabajo a los empleados.
• Permitir entradas de ubicaciones personalizadas.
Seguimiento de Ubicaciones:
• Registrar y mostrar la ubicación asignada durante el registro de entrada/salida.
• Permitir a los empleados ver sus ubicaciones asignadas dentro de la aplicación.
Requisitos:
• Las ubicaciones deben ser fácilmente gestionables y editables por los gerentes.
• Asegurar que los datos de ubicación sean precisos durante los registros de entrada/salida.

4. Registros en Modo Offline
Objetivo: Asegurar que los empleados puedan seguir usando la aplicación para registros de entrada/salida y actualizaciones de tareas incluso sin una conexión activa a Internet.
Funcionalidad Offline:
• Implementar almacenamiento local para registrar datos de entrada/salida y actualizaciones de tareas cuando esté offline.
• Sincronizar los datos con el servidor cuando el dispositivo se reconecte a Internet.
Manejo de Datos Offline:
• Proporcionar una indicación clara cuando la aplicación esté en modo offline.
• Encolar datos offline para la sincronización y manejar posibles conflictos durante la sincronización.
Requisitos:
• Asegurar que el almacenamiento de datos offline sea seguro y confiable.
• Implementar mecanismos de sincronización eficientes para manejar conflictos de datos.

5. Implementación de interfaz para manejo de cuentas
Objetivo: Permitir que el administrador pueda activar/desactivar usuarios y asignar periodos determinados de uso mediante un sistema sencillo y fácil de usar.
Activar/Desactivar Usuarios:
• Los administradores deben poder activar o desactivar cuentas de usuario.
Asignar Tiempo de Uso:
• Los administradores deben poder asignar y gestionar el tiempo de uso para cada usuario.
Requisitos:
• Asegurar que solo el super administrador pueda acceder a estas funcionalidades.