Easy Payroll é uma aplicação back end construida com arquitetura de microsserviços. A aplicação disponibiliza uma simples forma de calcular pagamentos de funcionarios.
- Java
- Spring Boot
- Spring Cloud
- JPA / Hibernate
- H2
- Maven
Pré-requisitos: Java 11
# clonar repositório
Gnomos ainda estão pensando em como startar todas a aplicações de forma facil...
Gnomos ainda estão trabalhando nisso...
Para fazer as requisições é necessario que você tenha um token jwt de autenticação. Para conseguir seu token é necessario fazer login com as credenciais de um "user". O seguinte SQL é executado durante o start da aplicação. Esse SQL cria dois usuarios e os vincula aos seus respectivos acessos. Para fins de estudo o password padrão dos usuarios será 123456.
INSERT INTO user (name, email, password) VALUES ('Charlie Brown', 'charlie@gmail.com', '$2a$10$NYFZ/8WaQ3Qb6FCs.00jce4nxX9w7AkgWVsQCG6oUwTAcZqP9Flqu');
INSERT INTO user (name, email, password) VALUES ('Cryier', 'cryier@gmail.com', '$2a$10$NYFZ/8WaQ3Qb6FCs.00jce4nxX9w7AkgWVsQCG6oUwTAcZqP9Flqu');
INSERT INTO role (name) VALUES ('ROLE_OPERATOR');
INSERT INTO role (name) VALUES ('ROLE_ADMIN');
INSERT INTO user_role (user_id, role_id) VALUES (1, 1);
INSERT INTO user_role (user_id, role_id) VALUES (2, 1);
INSERT INTO user_role (user_id, role_id) VALUES (2, 2);
POST http://localhost:8765/hr-oauth/oauth/token
{
"username": "cryier@gmail.com",
"password": "123456",
"grant_type": "password"
}
Status Code | Descrição |
---|---|
200 | OK |
{
"access_token": "token_jwt",
"token_type": "bearer",
"expires_in": 86399,
"scope": "read write",
"jti": "jwt_id"
}
Microserviço que faz o calculo dos pagamentos.
GET http://localhost:8765/hr-payroll/api/v1/payments/{workerId}/days/{days}
Variavel | Tipo | Descrição |
---|---|---|
workerId |
long |
Obrigatório. Id do trabalhador |
days |
integer |
Obrigatório. Quantidade de dias trabalhados |
Status Code | Descrição |
---|---|
200 | OK |
{
"name": "Porthos",
"dailyIncome": 300.0,
"days": 15,
"total": 4500.0
}
Microserviço que fornece informações sobre os trabalhadores.
GET http://localhost:8765/hr-worker/api/v1/workers
Status Code | Descrição |
---|---|
200 | OK |
[
{
"id": 1,
"name": "Athos",
"dailyIncome": 200.0
},
{
"id": 2,
"name": "Porthos",
"dailyIncome": 300.0
},
{
"id": 3,
"name": "Aramis",
"dailyIncome": 250.0
}
]
GET http://localhost:8765/hr-worker/api/v1/workers/{workerId}
Variavel | Tipo | Descrição |
---|---|---|
workerId |
long |
Obrigatório. Id do trabalhador |
Status Code | Descrição |
---|---|
200 | OK |
{
"id": 1,
"name": "Athos",
"dailyIncome": 200.0
}
Fabio Vital Lucena da Silva