Status do Projeto:
⚠️ (em desenvolvimento)
🔹 Autor
API Rest e Worker com RabbitMQ C# .Net6 Publisher e Consumer. O desafio é feito para publicação de mensagens no canal AMQP do RabbitMQ através da API e depois consumir essas mensagens com um Woker windows aplication em C# .NET6 rodando em segundo plano.
Após o consumo das mensagens é realizada uma validação dos dados mediante a regra de negócio estabelecida, em caso de erro o log é gerado, em caso de sucesso os dados são persistidos com Dapper no banco de dados SqlServer.
Para obter autorização no acesso aos endpoints da API, é necessário realizar a autenticação com o nome de usuário e senha disponibilizados aqui na sessão "Autenticação", após verificação dos dados informado, será gerado um token de acesso para acesso aos endpoints ou via postman ou swagger.
◾ Incluir dados na fila
▫️ Endpoint responsável por enviar uma requisição para processar os dados do protocolo e enviar-los para a fila do RabbitMQ
◾ Obter protocolo por número
▫️ Endpoint responsável por recuperar os dados do protocolo por número do protocolo já processados pela fila e persistidos no banco
◾ Obter protocolo por CPF
▫️ Endpoint responsável por recuperar os dados do protocolo por número do CPF já processados pela fila e persistidos no banco
◾ Obter protocolo por RG
▫️ Endpoint responsável por recuperar os dados do protocolo por número do RG já processados pela fila e persistidos no banco
É necessário fazer o download dos programas listados na sessão de pré-requisitos e executar alguns comandos para configuração deles:
🔹 Docker
Linha de comando para executar o RabbitMQ em container Docker no prompt de comando do windows.
docker run -d --hostname rabbitserver --name rabbitmq-server -p 15672:15672 -p 5672:5672 rabbitmq:3-management
🔸 RabbitMQ
Para acessar o painel de controle do RabbitMQ é necessário abrir o broswer no endereço localhost e a porta criada no doker. http://localhost:15672/
Fazer um clone do repositório do projeto.
git clone https://github.com/marcelorim/ProtocoloValid
Após clone o projeto para ser executado no Visual Studio 2022 e é preciso configurar o projeto para star no modo "start multiplo", setando a inicialização dos projetos "Protocolo.Publisher.App" e "Protocolo.Consumer.App".
O banco de dados escolhido foi o SqlServer Express 2019 e SqlServer Management Studio. Os scripts de criação do banco e das tabelas estão na pasta sql localizada no diretório raiz do projeto, os arquivos para execução são:
🔸 Script criação BD.sql
🔸 Script criação tabela TB_PROTOCOLO.sql
Para realizar nos softwares a autenticação na api é necessário enviar o usuário e senha para obter o token de acesso aos endpoints.
| Aplicação | Login | Senha |
|---|---|---|
| RabbitMQ | guest | guest |
| API | valid | valid@1234 |
Marcelo Ferreira |
|---|
Copyright ©️ 2023 - Protocolo Valid