Criar um programa usando C# (dotnetcore) ou Lazarus que vai atuar como um controle de presença funcionarios:
1) Vai ler um conjunto de horários predefinidos de um serviço rest (webservice) diariamente e armazena-los em um banco de dados sqlite exibindo os mesmos na tela;
2) Vai recolher digitais de duas pessoas que trabalham em conjunto a cada referente conjunto de horários destes informados na hora de entrada (ex: 08:00) e saida (8:50);
3) Estas digitais recolhidas serão armazenadas no banco de dados sqlite criptografadas utilizando uma chave publica PGP que será obtida do serviço rest
deve-se checar diariamente se existe uma nova chave e utiliza-la.
4) Periodicamente os dados das digitais colhidas serão enviados ao serviço rest caso o serviço não exteja disponível o envio deverá ser tentado novamente em
intervalos de (30, 60 e 120 minutos) além de possuir a opção de fazer envios manuais por um botão.
5) As chaves públicas serão armazenadas no banco de dados usando outro padrão criptografico a definir.
O padrão de coleta de digitais deve utilizar o fingerprint sdk 2009 da Griaule Biometrics já possui todas as funções para leitura e já gera um hash com o padrão do dedo.
Create a program using C # (dotnetcore) or Lazarus that will act as a presence control for employees:
1) You will read a set of predefined times of a service rest (webservice) daily and store them in an sqlite database displaying them on the screen;
2) You will collect digital from two people who work together at each set of time points of these informed at the time of entry (ex: 08:00) and exit (8:50);
3) These collected digits will be stored in the encrypted sqlite database using a PGP public key that will be obtained from the service rest
you should check daily if there is a new key and use it.
4) Periodically the data of the collected digital ones will be sent to the service rest if the service does not exteja available the shipment must be tried again in
intervals of (30, 60 and 120 minutes) and have the option to manually send by a button.
5) Public keys will be stored in the database using another cryptographic standard to define.
The standard of fingerprint collection must use the fingerprint sdk 2009 of Griaule Biometrics already has all the functions for reading and already
generates a hash with the standard of the finger.
The storage of the schedules should pull the hours of the atomic clock via NTP not relying on the local clock of the machine.
Referências / References:
https://www.griaulebiometrics.com/wiki/index.php/Fingerprint_SDK_2009:Setup_and_Usage
Lazarus:
https://forum.lazarus.freepascal.org/index.php?topic=41765.0
http://www.resteasyobjects.com.br/
http://wiki.lazarus.freepascal.org/DCPcrypt
C#
http://restsharp.org/
https://blog.bitscry.com/2018/07/05/pgp-encryption-and-decryption-in-c/
Prazo de Entrega: 23 de Maio de 2019