Skip to content

ADSJohn/kepha-store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kepha Store

O Kepha Store é uma API RESTful que fornece um serviço de carrinho de compras, recebendo ordens de compra postadas pelos clientes . Aqui, é feito o CRUD de todas as entidades, utilizando o banco de dados PostgreSQL.

Com a implementação de um serviço Cron utilizando quartz que fica executando em background fazendo uma busca de um em um minuto no banco de dados especificamente na tabela de orders verificando as ordens que estao em status de WAITING (Aguardando) atualizando para o status AUTHORIZED (Atualizado).

    @Transactional
    @Scheduled(cron = "{cron.expr}", identity = "My service cron")
    public void schenduler() {
        List<Order> orderWaiting = orderRepository.findByStatus(OrderStatus.WAITING);

        for (Order order : orderWaiting) {
            System.out.println("Id:" + order.id + " Created: " + order.created_at + " Status: " + order.status);
            order.status = order.status.AUTHORIZED;
            System.out.println(" AUTHORIZED: " + Instant.now());
        }
    }

Para saber mais sobre o serviço Cron e Quartz, acesse: https://quarkus.io/guides/quartz

Tecnologias utilizadas

Dependências

  • hibernate-orm-panache
  • hibernate-validator
  • smallrye-openapi
  • jdbc-postgresql
  • quartz
  • resteasy-jsonb
  • resteasy
  • security-jpa
  • smallrye-jwt
  • lombok
  • flyway

Executando o projeto

Com o terminal aberto na pasta do projeto e com o docker executando, digite o seguinte comando:

    docker-compose up

Assim, serão gerados as imagens do PostgreSQL, Kaycloak, e da aplicação, e o container da aplicação. Para realizar os testes da API, acesse: http://localhost:8080/q/swagger-ui/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages