- Escolha um diretório de sua preferência e clone o repositório:
git clone https://github.com/BrunoHBastiani/SimpleBlog.git - Abra a solução no Visual Studio.
- Execute o projeto normalmente.
- Banco de Dados In-Memory: Utilizado para simplificar a execução do projeto e acelerar o desenvolvimento.
- SignalR: Escolhido para implementar WebSockets devido à sua eficiência e ampla adoção no mercado.
O projeto consiste em:
-
API de Usuários:
- Permite criar contas e realizar autenticação.
-
API de Postagens do Blog:
- Usuários logados podem criar, editar ou excluir postagens.
- Usuários não autenticados podem apenas visualizar postagens.
-
Notificações em Tempo Real:
- Ao criar uma nova postagem, todos os clientes conectados ao WebSocket recebem uma notificação.
Com mais tempo, algumas melhorias poderiam ser implementadas:
-
Banco de Dados Dockerizado:
- Substituir o banco In-Memory por um SGBD containerizado, facilitando a análise dos dados.
-
Centralização de Exceções:
- Criar um projeto específico para exceções personalizadas e mensagens de erro, permitindo localização em múltiplos idiomas e eliminação de duplicidade de mensagens.
-
Assertion Concerns:
- Centralizar validações simples e repetitivas em um único local para maior organização.
-
Domínios Ricos:
- Separar melhor as responsabilidades entre a camada de domínio (regras de negócio) e a camada de aplicação (regras específicas do sistema).
-
Segurança Aprimorada:
- Implementar medidas adicionais para aumentar a segurança da aplicação, como criptografia de dados sensíveis, validações de segurança aprimoradas nas APIs e melhorias na autenticação de usuários.