- Índice
- Descrição do Projeto
- Status do Projeto
- Funcionalidades
- Instalação do aplicativo
- Tecnologias utilizadas
PontoCom é um Sistema de Ponto,
Este projeto possui funcionalidades para marcar a presença dos funcionarios de uma empresa, e ter controle com geração de folha de presença.
esta request fará a autenticação de um usuario com Login e Senha e irá gerar um token, liberando acesso de todo o sistema.
esta request, recebendo um json, cadastra funcionario e suas informações no sistema.
o json deve ser construido nesse formato:
esta request atualiza dados pessoais do funcionario.
esta request recebe um json com uma senha e atualiza no banco de dados.
esta request marca a entrada dos funcionarios em uma unica tabela relacional, pelo id do funcionario.
esta request marca a saída para o intervalo.(em desenvolvimento)
esta request marca a saida do funcionario.
esta request listará todos os funcionarios e suas informações não sensiveis.
esta request retornará um arquivo .xlsx (Excel) com todas as informações de registro dos funcionários e um "resumo" onde mostra dias de falta e de presença e o calculo do sálario proporcional bruto.
-> Segue um exemplo do arquivo:
Folha de Ponto
Resumo
esta request, recebendo o ID do funcionario e a Data referente a Falta, fará a coluna atualizar de FALTA para ATESTADO, funcionalidade util para a folha de pagamento.
-> Segue um exemplo dessa request:
end point: rh/usuario@example.com/validar-atestado/2/2024-07-03
Ao fazer a requesição bem sucedida, retornará um "Atestado validado com sucesso."
no banco de dados, atualizará exatamente a linha onde está presente os parametros passado pelo end-point.
antes da requisição:
depois:
-> request's /rh são necessarias o email de um funcionario do RH no end-point, para ter um controle de acesso.
-> as folhas de pontos de cada funcionarios são separadas por cada planilha renomeada por "Folha de Ponto do (Nome do Funcionario)" -> a request de validar atestado tambem altera a presença do funcionario para ausente, podem ser utilizada para situações onde o
- Java JDK: 21 ou superior
- Banco de Dados: MySQL
- IDE: IntelliJ IDEA (opcional, para desenvolvimento)
-
Clone o Repositório
Primeiro, clone o repositório do PontoCom para sua máquina local:
git clone https://github.com/usuario/pontocom.git cd pontocom -
Configuração do Banco de Dados
Crie um banco de dados MySQL para o PontoCom: Importe o esquema do banco de dados incluído no diretório db:
CREATE DATABASE pontocom; USE pontocom; SOURCE caminho/para/o/arquivo/schema.sql;
-
Configuração do Aplicativo Copie o arquivo de configuração application.properties do diretório src/main/resources para o diretório config. Copie e cole com seu login e senha do banco de dados mysql no arquivo.
spring.datasource.url=jdbc:mysql://localhost:3306/pontocom spring.datasource.username=usuario spring.datasource.password=senha
é uma boa prática usar variaveis de ambiente, principalmente se for subir o projeto em um repositorio publico.
-
Compilação e Execução
Compile o projeto usando Maven:
./mvnw clean install -
Execute o aplicativo:
Copie e execute em seu terminal:
java -jar target/pontocom-1.0.jar -
Criando Acesso
copie e execute esse código em seu Banco de Dados MySQL:
use pontocom; INSERT INTO usuario (login, senha) VALUES ('usuario@example.com', '$2a$10$lIKWA3QIJyaq8z6/Rhv2XOPLtADJgdQASItP6RLX.n6fdzabBjKc.');
esta query fara um usuario sem dados de funcionarios, com login "usuario@example.com" e "123456" como senha.
Assim, poderá fazer requisições para cadastrar funcionarios.
Recomendo apagar esse usuario após cadastrar um funcionario.
-
Acesso ao Aplicativo
Após a execução, acesse o aplicativo através da url:
http://localhost:8080.
linguagem de programação: JDK v21
Framework: Spring
IDE: Intellij IDEA
framework Open Source: Insomnia
Banco de dados: MySQL
Editor de planilhas: Excel









