Skip to content

marcelorim/ProtocoloValid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README - API Rest e Worker

Status do Projeto: ⚠️ (em desenvolvimento)

📌 Tópicos

🔹 Descrição do projeto

🔹 Funcionalidades

🔹 Pré-requisitos

🔹 Instalação e Configuração

🔹 Como rodar a aplicação

🔹 Configurando banco de dados

🔹 Autenticação

🔹 Autor

📜 Descrição do projeto

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.

✅ Funcionalidades

◾ 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

✔️ Pré-requisitos

⚠️ Visual Studio 2022
⚠️ .NET6
⚠️ Dapper
⚠️ JSON Web Tokens
⚠️ Swagger
⚠️ Ubuntu
⚠️ Doker Desktop
⚠️ RabbitMQ
⚠️ SqlServer Express 2019
⚠️ SqlServer Management Studio
⚠️ Github
⚠️ Bogus

⚙️ Instalação e configuração

É 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/

▶️ Como rodar a aplicação

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

🎲 Configurando banco de dados

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

🔑 Autenticação

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

:octocat: Autor


Marcelo Ferreira

©️ Licença

Copyright ©️ 2023 - Protocolo Valid

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published