Skip to content

CristianGluchak/FrontierBack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Frontier API

API construída para gerenciamento de pessoas, empregadores e folhas de pagamento.

Sumário

Tecnologias

Como executar

1. Pré-requisitos

  • Docker e Docker Compose instalados
  • Java 17 ou superior
  • Maven

2. Subindo o banco de dados

  • 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/migration serã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).

3. Executando a aplicação

  • Compile e rode a aplicação com Maven:
    ./mvnw spring-boot:run
  • Alternativamente, execute a classe principal FrontierApplication.java pela sua IDE.
  • A aplicação estará disponível em http://localhost:8080.

4. Acessando a documentação e monitoramento

5. Observações

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

Configuração do Banco de Dados

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

Migrations e Dados Fictícios

  • Scripts de migração estão em src/main/resources/db/migration.
  • O arquivo V7__populate_tables.sql insere dados fictícios para testes.
  • Flyway executa todos os scripts automaticamente ao iniciar a aplicação.

Documentação da API

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

Práticas Adotadas

  • 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

Estrutura de Pastas

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 de exemplo para acesso

Contato

Dúvidas ou sugestões? Abra uma issue ou envie um e-mail para o mantenedor do projeto.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages