https://github.com/trkotovicz/aws-serverless-nodejs
Servidor de data analytics de uma empresa.
https://github.com/trkotovicz/aws-serverless-nodejs
aws aws-cli aws-lambda awsrds javascript nodejs postgresql sequelize serverless-framework
Last synced: 7 months ago
JSON representation
Servidor de data analytics de uma empresa.
- Host: GitHub
- URL: https://github.com/trkotovicz/aws-serverless-nodejs
- Owner: trkotovicz
- Created: 2023-07-14T18:00:46.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-16T21:56:35.000Z (over 1 year ago)
- Last Synced: 2025-01-30T07:44:04.866Z (8 months ago)
- Topics: aws, aws-cli, aws-lambda, awsrds, javascript, nodejs, postgresql, sequelize, serverless-framework
- Language: JavaScript
- Homepage:
- Size: 192 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# People Analytics Serverless
Essa aplicação é uma API que faz a análise de dados da folha de pagamentos de uma empresa. Ela é capaz de calcular o **Headcount** e o **Turnover** de cada gestor da empresa.
Para sua utilização, é necessário entrar com o email do gestor e, à partir dele, é feito uma busca dos seus liderados (diretos e indiretos) e então, com esses dados, é feito o cálculo do **Turnover** e **Headcount**.
## Ferramentas utilizadas
A aplicação foi desenvolvida em Node.js, com o uso do Serverless Framework. O servidor foi desenvolvido para ser hospedado na AWS, assim como o banco de dados (PostgreSQL). Além disso, utilizei o ORM Sequelize.
## Utilização da aplicação
Para utilizar essa aplicação, você pode utilizar um cliente de requisições HTTP de sua preferência (Insomnia, Postman, etc). Basta você adicionar o link do seu servidor AWS e acessar através dos enpoints listados abaixo.
## API
### GET `/payroll`
O endpoint lista toda a folha de pagamento da empresa.
Exemplo do retorno:
```json
{
"data": [
{
"matricula": 0,
"status": "ativo",
"nome": "Danielle Winters",
"email": "daniellewinters@kpis.tech",
"emailGestor": null,
"dataAdmissao": "2021-10-06",
"dataRecisao": null,
"cargo": "Diretor"
},
]
}
```---
### GET `/payroll/{email}`
O endpoint lista todos os subordinados do líder informado.
Para isso, substitua no endpoint o `{email}` do líder que deseja fazer a buscar.---
### GET `/payroll/headcount/{email}`
O endpoint calcula o headcount daquele líder para todos os meses.
Para isso, substitua no endpoint o `{email}` do líder que deseja fazer a buscar.
Exemplo do retorno:
```json
{
"headcount": [
{
"month": "2021-03",
"count": 17
},
{
"month": "2021-04",
"count": 18
},
]
}
```---
### GET `/payroll/turnover/{email}`
O endpoint calcula o turnover daquele líder para todos os meses.
Para isso, substitua no endpoint o `{email}` do líder que deseja fazer a buscar.
Exemplo do retorno:
```json
{{
"turnover": [
{
"month": "2021-05",
"value": 0
},
{
"month": "2021-06",
"value": 0.047619047619047616
},
]
}
```---
Projeto desenvolvido por [Thais R Kotovicz](https://www.linkedin.com/in/thaiskotovicz/).