Skip to content

LucasdeMatheus/pontocom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation



PontoCom

Índice

Descrição do Projeto

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.

Status do Projeto

Funcionalidades

image

TesteAutenticação POST: (/login)

esta request fará a autenticação de um usuario com Login e Senha e irá gerar um token, liberando acesso de todo o sistema.
image

Request Cadastrar Funcionario POST: (/funcionarios)

esta request, recebendo um json, cadastra funcionario e suas informações no sistema.
o json deve ser construido nesse formato:
image

Request Atualizar Dados Funcionario PUT: (/funcionarios)

esta request atualiza dados pessoais do funcionario.

Request Atualizar Senha PUT: (/funcionarios/atualizar-senha/{email})

esta request recebe um json com uma senha e atualiza no banco de dados.
image

Request Bater Ponto POST: (funcionarios/{ID}/entrada)

esta request marca a entrada dos funcionarios em uma unica tabela relacional, pelo id do funcionario.

Request Marcar Intervalo PUT: (funcionarios/{id}/intervalo)

esta request marca a saída para o intervalo.(em desenvolvimento)

Request Marcar Saida PUT: (funcionarios/{id}/saida)

esta request marca a saida do funcionario.

Funcionalidades do RH

image

Request Funcionarios dados GET (rh/{EMAIL}/listar-funcionarios)

esta request listará todos os funcionarios e suas informações não sensiveis.

Request Folha de Ponto GET (rh/{EMAIL}/criar-folha)

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 image
Resumo
image

Request Validar Atestado Put(rh/{email}/validar-atestado/{ID}/{data})

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."
image

no banco de dados, atualizará exatamente a linha onde está presente os parametros passado pelo end-point.

antes da requisição:
Imagem do WhatsApp de 2024-07-25 à(s) 11 35 33_2ed7200a

depois:
Imagem do WhatsApp de 2024-07-25 à(s) 11 36 48_3c5776af

Observações

-> 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

Instalação do aplicativo

Requisitos

  • Java JDK: 21 ou superior
  • Banco de Dados: MySQL
  • IDE: IntelliJ IDEA (opcional, para desenvolvimento)

Configuração do Ambiente

  1. 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
  2. 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;
  3. 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.

  1. Compilação e Execução

    Compile o projeto usando Maven:

    ./mvnw clean install
    
  2. Execute o aplicativo:

    Copie e execute em seu terminal:

    java -jar target/pontocom-1.0.jar
    
  3. 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.

  1. Acesso ao Aplicativo

    Após a execução, acesse o aplicativo através da url:

    http://localhost:8080.
    

Tecnologias utilizadas

linguagem de programação: JDK v21

Framework: Spring

IDE: Intellij IDEA

framework Open Source: Insomnia

Banco de dados: MySQL

Editor de planilhas: Excel

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages