Esta é uma API RESTful para registro e consulta de pontos eletrônicos de funcionários. Desenvolvida com Flask e Flask-RESTX, a API oferece funcionalidades para registrar pontos de entrada e saída, consultar pontos de um usuário específico, atualizar e excluir registros de ponto, além de fornecer documentação interativa usando o Swagger.
Esta API permite que os administradores registrem, consultem, atualizem e excluam pontos eletrônicos de usuários, com base em suas informações (nome, e-mail, departamento, cargo, etc.). A API também oferece documentação automática utilizando o Swagger, facilitando o entendimento e o uso dos endpoints.
pip. git clone https://github.com/seu-usuario/ponto-eletronico-api.git
cd ponto-eletronico-api
python -m venv venv
source venv/bin/activate # Para Windows, use: venv\Scripts\activate
pip install -r requirements.txt
Para iniciar o servidor, execute o seguinte comando:
python pontoEletronico.py
O servidor estará disponível em http://localhost:5000/.
A documentação da API pode ser acessada através do Swagger na seguinte URL:
http://localhost:5000/
Aqui estão os principais endpoints da API:
POST/PontoEletronico/registrar_ponto{
"nome": "João Silva",
"email": "joao.silva@email.com",
"departamento": "TI",
"cargo": "Desenvolvedor",
"id": "12345",
"tipo": "entrada"
}
GET/PontoEletronico/consultar_pontos{
"pontos": [
{
"usuario": {
"nome": "João Silva",
"email": "joao.silva@email.com",
"departamento": "TI",
"cargo": "Desenvolvedor",
"id": "12345"
},
"tipo": "entrada",
"hora": "09-03-2025 08:00:00"
}
]
}
GET/PontoEletronico/consultar_pontos/<id_usuario>id_usuario: ID do usuário cujos pontos você deseja consultar.{
"pontos": [
{
"usuario": {
"nome": "João Silva",
"email": "joao.silva@email.com",
"departamento": "TI",
"cargo": "Desenvolvedor",
"id": "12345"
},
"tipo": "entrada",
"hora": "09-03-2025 08:00:00"
}
]
}
PUT/PontoEletronico/atualizar_ponto/<ponto_id>ponto_id: ID do ponto que você deseja atualizar.{
"nome": "João Silva",
"email": "joao.silva@email.com",
"departamento": "TI",
"cargo": "Desenvolvedor",
"id": "12345",
"tipo": "saida"
}
DELETE/PontoEletronico/deletar_ponto/<ponto_id>ponto_id: ID do ponto que você deseja excluir.curl -X POST "http://localhost:5000/PontoEletronico/registrar_ponto" -H "Content-Type: application/json" -d '{
"nome": "João Silva",
"email": "joao.silva@email.com",
"departamento": "TI",
"cargo": "Desenvolvedor",
"id": "12345",
"tipo": "entrada"
}'
{
"mensagem": "Ponto de entrada registrado com sucesso!"
}
Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para mais detalhes.