App de Registro de Ponto com Geolocalização e Biometria: Um aplicativo que permite ao funcionário registrar seu ponto de trabalho quando estiver a até 100 metros do local de trabalho. A autenticação pode ser feita via NIF e senha ou utilizando reconhecimento digital e/ou facial via biometria.
Objetivo: Desenvolver um aplicativo para registro de ponto do funcionário, efetuando o seu login pelo meio padrão com o seu email e a sua senha ou utilizando a sua digital e/ou reconhecimento facial via biometria. Além disso, para ele efetuar o seu registro ele precisará estar até 100 metros do local do seu trabalho, caso contrário o registro não será possível e ele receberá uma notificação no aplicativo.
Por Que Este Projeto?
A nossa empresa chamada FastPoint, dedicada a inovar no campo da gestão de serviços, está em processo de criação de um aplicativo de registro de ponto do funcionário com geolocalização e biometria. Este projeto visa proporcionar uma experiência eficiente e ágil para o funcionário, facilitando o processo de registro e autenticação por meio da sua biometria. Com o objetivo de transformar a forma como a nossa empresa registra o ponto do funcionário, estamos desenvolvendo uma solução tecnológica avançada que ofereça uma interface amigável e funcionalidades robustas.
O registro de ponto será desenvolvido utilizando o framework Flutter, com Firebase para nossa plataforma de serviços de backend. A solução visa proporcionar uma experiência para o funcionário eficiente e intuitiva, com recursos para autenticação via biometria digital e/ou facial, além da sua geolocalização em tempo real para o registro do ponto.
Firebase:
- Authentication
- Cloud Firestore
Framework Flutter (dependências):
- cloud_firestore (relacionada ao firebase)
- firebase_auth (relacionado ao firebase)
- firebase_core (relacionado ao firebase)
- firebase_messaging (relacionado ao firebase)
- local_auth (autenticação via biometria)
- flutter_secure_storage (autenticação via biometria)
- geolocator (localização)
- flutter_map (mapa visual)
Outros:
- Android Studio para desenvolvimento
- Github para versionamento
- Figma para montagem dos protótipos
classDiagram
class Usuario {
- String nome
- String email
- String senha
- String imagem_url
}
class MarcacaoPontos {
- Date data
- double latitude
- double longitude
- long timestamp
- String tipo
}
flowchart TD
A[Início] --> B[Abrir App]
B --> C{Primeiro Login}
C -->|NIF e Senha| D[Inserir NIF e Senha]
C -->|Biometria Facial ou Digital| E[Configurar Biometria]
D --> G[Acessar Sistema]
E --> G[Acessar Sistema]
G --> H{Próximo Registro de Ponto?}
H -->|Sim| I{Condição: Raio de 100 metros}
I -->|Dentro do Raio| J[Registrar Ponto]
J --> K[Confirmação de Registro]
I -->|Fora do Raio| L[Exibir Notificação]
H -->|Não| M[Encerrar App]
- Conexão com a Internet
- Dispositivo com funcionalidade biométrica e facial
1.1 Entrada:
- Entre no aplicativo pelo seu dispositivo.
1.2. Primeiro Login:
- Ao acessar pela primeira vez, insira seu NIF e senha ou configure sua biometria facial/digital para um login mais rápido e seguro.
2.1 NIF e senha:
- Insira suas credenciais para acessar o sistema.
2.2 Reconhecimento facial ou digital:
- Utilize biometria para maior agilidade e segurança.
- O registro é permitido apenas se você estiver dentro de um raio de 100 metros do local de trabalho.
- A geolocalização é verificada automaticamente no momento do registro.
- Abra o aplicativo e escolha a forma de autenticação (biometria ou NIF e senha).
- Aproxime-se do local de trabalho até que a localização seja validada.
- Clique no botão "Registrar Ponto".
- Verifique a confirmação do registro na tela.
"Não foi possível registrar o ponto. Você está fora do limite permitido."