/user

Primary LanguageJavaScript

backend-java-challenge_bruna_lima

imageimageimageimage

ia-teste-tecnico

Vamos la..

1.

Faça o download

code -> download.zip

2.

Na IDE de sua preferencia:

file -> import -> existing maven project -> selecione o projeto baixado

espere carregar as dependencias

mvn install

3.

Vamos testar..

Vamos subir o serviço externo do redis:

  1. docker run --name meu-redis -d -p 6379:6379 redis redis-server
  2. docker exec -it meu-redis redis-cli

image

Vamos acompanhar a sessão após o login

RabbitMQ

Acesse o arquivo docker-compose.yml em app-user -> docker-compose.yml

execute no terminal docker-compose up -d

image

Acesse http://localhost:15672

image

Faça o login: usermane: admin, senha: 123456;

Suba o projeto como spring-boot-app

URLs:

Login

http://localhost:8080/login Login funcionando!

image

username: admin, senha: 123;

image

username: user, senha: 123;

image

*Admin tem acesso a pag http://localhost:8080/admin

PARA TESTE INSOMNIA/POSTMAN:

Inserir um usuario:

POST http://localhost:8080/api/users

body: USER

{ "username": "user2", "password": "123", "name": "TestUsuario", "email": "test@test.com", "createdDate": "20/08/2021", "enabled": true, "roles": [ { "id": 1, "role": "USER" } ] }

body: ADMIN

{ "username": "admin2", "password": "123", "name": "TestAdmin", "email": "test@test.com", "createdDate": "20/08/2021", "enabled": true, "roles": [ { "id": 2, "role": "ADMIN" } ] },

image

Listar todos:

Só consigo acessar as urls abaixo configurando o SecurityConfig com .permitAll().

GET http://localhost:8080/api/users

image

Listar usuario especifico:

GET http://localhost:8080/api/users/3 (lista usuário de id=3)

image

Alterar dados usuario específico:

PUT http://localhost:8080/api/users/3 (altera dados do usuário de id=3)

image

Alterado

image

Deletar usuario especifico:

DELETE http://localhost:8080/api/users/3 (exclui usuário de id=3)

image

Usuario 3 deletado

image

Redis

no terminal rode Keys * e listará as sessões:

image

Está listando as sessões do usuśrio:

image

Vamos enviar o email:

POST http://localhost:8080/email

Body:

{ "idEmail": "1", "email": "email enviado" }

image

Em http://localhost:15672/#/connections vemos a conexão criada:

image

Em http://localhost:15672/#/queues vemos a fila criada

image

Após enviar o email a mensagem é enviada ao rabbitmq e depois consumida pelo consumidor da aplicação user-app:

image

Profile

Ambiente DEV

image

image

Ambiente PROD

image

image

Obrigada!!!