API construída para gerenciamento de pessoas, empregadores e folhas de pagamento.
- Tecnologias
- Como executar
- Configuração do Banco de Dados
- Migrations e Dados Fictícios
- Documentação da API
- Práticas Adotadas
- Estrutura de Pastas
- Spring Boot
- Spring MVC
- Spring Data JPA
- SpringDoc OpenAPI 3
- Lombok
- Flyway
- Health Check
- Docker & Docker Compose
- Docker e Docker Compose instalados
- Java 17 ou superior
- Maven
- Na raiz do projeto, execute:
docker-compose up
- O container PostgreSQL será iniciado automaticamente com o banco
frontier. - Todos os scripts de migração em
src/main/resources/db/migrationserão executados, criando o schema, tabelas e populando com dados fictícios. - O banco estará disponível em
localhost:5432(usuário: root, senha: root).
- Compile e rode a aplicação com Maven:
./mvnw spring-boot:run
- Alternativamente, execute a classe principal
FrontierApplication.javapela sua IDE. - A aplicação estará disponível em
http://localhost:8080.
- Swagger: http://localhost:8080/swagger-ui.html
- Health Check: http://localhost:8080/monitor/health
- Caso queira reiniciar o banco e os dados, pare o container, remova o volume e suba novamente:
docker-compose down -v && docker-compose up - As configurações de conexão podem ser ajustadas em
src/main/resources/application.yml.
- O banco é criado automaticamente pelo Docker Compose.
- O schema
frontieré criado via script de migração (00_create_schema.sql). - As tabelas e dados fictícios são populados via Flyway.
- Configurações podem ser ajustadas em
src/main/resources/application.yml.
- Scripts de migração estão em
src/main/resources/db/migration. - O arquivo
V7__populate_tables.sqlinsere dados fictícios para testes. - Flyway executa todos os scripts automaticamente ao iniciar a aplicação.
- A documentação Swagger é gerada automaticamente e pode ser acessada em:
http://localhost:8080/swagger-ui.html(após iniciar a aplicação)
- Endpoints disponíveis para gerenciamento de usuários, empregadores, funcionários e folhas de pagamento.
- SOLID, DRY, YAGNI, KISS
- API REST
- Consultas com Spring Data JPA
- Injeção de Dependências
- Tratamento de respostas de erro
- Geração automática do Swagger com a OpenAPI 3
- Status do serviço com Health checks
- Migrations com Flyway
src/main/java/br/com/frontier/
core/ # Núcleo da aplicação (segurança, JWT, etc)
employee/ # Lógica de funcionários
employer/ # Lógica de empregadores
payroll/ # Lógica de folha de pagamento
user/ # Lógica de usuários
shared/ # Classes compartilhadas
src/main/resources/
db/migration/ # Scripts de migração Flyway
application.yml # Configuração principal
- Usuário: Admin Tech
- E-mail: [email protected]
- Senha: senha123
Dúvidas ou sugestões? Abra uma issue ou envie um e-mail para o mantenedor do projeto.