O DevKit.Forge é uma plataforma corporativa de auditoria, processamento e análise inteligente de arquivos de log. Projetado com foco em alta performance e separação clara de responsabilidades, o sistema permite que desenvolvedores e equipes de DevOps realizem o upload de logs pesados, extraiam métricas críticas e monitorem o status de saúde da infraestrutura de forma centralizada, fluida e intuitiva.
O ecossistema é arquitetado de forma totalmente desacoplada, dividindo-se em duas camadas principais para garantir máxima escalabilidade:
- Runtime: .NET 10.0
- Padrão Arquitetural: Domínio Blindado (DDD - Domain-Driven Design) com encapsulamento rigoroso de entidades.
- Padrão de Mensageria: CQRS (Command Query Responsibility Segregation) implementado via MediatR.
- Persistência / Acesso a Dados: Repositórios assíncronos desacoplados (
IAnaliseLogRepository). - Testes de Unidade (
/DevKit.Forge.UnitTests): Cobertura completa de Handlers utilizando xUnit, Moq e FluentAssertions. Utiliza técnicas avançadas de Reflection (Activator.CreateInstance) para testar o comportamento de entidades com setters privados e construtores protegidos sem violar o encapsulamento do domínio.
- Framework: Angular (Arquitetura moderna baseada em Standalone Components).
- UI/UX: Angular Material 3 com Material Design integrado (Paletas Personalizadas Azure/Blue).
- Layout: Interface altamente responsiva com efeito de Cards Flutuantes (elevação 3D), cantos arredondados, campo de busca minimalista com filtro em memória e pílulas de status coloridas (
badge-chips). - Gerenciamento de Dados: Paginação de performance em memória acoplada nativamente via
MatPaginator.
Antes de começar, certifique-se de ter instalado em sua máquina:
- SDK do .NET 10.0
- Node.js (Versão LTS recomendada)
- Angular CLI instalado globalmente (
npm install -g @angular/cli)
Abra o terminal na raiz da solução e execute os comandos abaixo:
# Restaurar os pacotes NuGet de todos os projetos da solução
dotnet restore
# Executar o projeto da Web API
dotnet run --project DevKit.Forge.Services.Api/DevKit.Forge.Services.Api.csproj💡 Nota: O servidor subirá localmente. Você poderá acessar a documentação interativa dos endpoints através da interface do Swagger gerada automaticamente pela API.
Para rodar a suite de testes automatizados e validar o cálculo das regras de negócio de severidade de saúde dos logs:
dotnet testAbra um segundo terminal na raiz da solução, navegue até a pasta do cliente e inicie o servidor de desenvolvimento:
# Navegar até o diretório do frontend
cd DevKit.Forge.Client
# Instalar as dependências do ecossistema Node/Angular
npm install
# Iniciar o servidor local com Hot Reload
ng serve🌐 Acesso: Assim que o build concluir, abra o seu navegador e acesse a aplicação em:
http://localhost:4200
- Upload Inteligente Drag & Drop: Área de upload elegante com linha tracejada interna, ícones descritivos e feedback de estado dinâmico ("Enviando...").
- Mecanismo de Análise Automatizada: Classificação imediata e severidade do status do log em categorias (
Saudável,Atenção,Instável,Crítico) com base no volume de erros e avisos identificados. - Tabela Avançada de Histórico: Grid totalmente customizada no Angular Material, dotada de paginação sob demanda e ordenação visual clara.
- Filtro Preditivo em Tempo Real: Input de busca estilizado com ícone de lupa, que filtra dinamicamente por nome do arquivo, volume de erros ou status do histórico diretamente na memória do client.
- Exportação de Relatórios: Botão redondo minimalista de download que consome a API e gera dinamicamente arquivos JSON estruturados usando arquivos Blob nativos do navegador.
DevKit.Forge/
│
├── DevKit.Forge.Application/ # Regras de Aplicação (Queries, Handlers, DTOs)
├── DevKit.Forge.Domain/ # Núcleo do Domínio (Entidades Blindadas, Interfaces)
├── DevKit.Forge.Services.Api/ # Controllers e Configuração de Entrada da API (.NET 10)
├── DevKit.Forge.UnitTests/ # Testes de Unidade (xUnit + Moq)
│
└── DevKit.Forge.Client/ # Aplicação Frontend (Angular)
└── src/app/components/
├── log-form/ # Componente da Área de Upload (HTML/SCSS/TS)
└── log-list/ # Componente da Tabela de Histórico (HTML/SCSS/TS)
O DevKit.Forge é um ecossistema corporativo em constante evolução. Para consolidar sua robustez arquitetural e entregar inteligência analítica de dados a nível sênior, as seguintes melhorias, módulos e refatorações estão planejados para as próximas versões do projeto:
- Módulo de IA Integrado: Implementação de engenharia de prompts refinada utilizando modelos de linguagem locais (SLMs via Ollama) para análise preditiva, diagnóstico automatizado de causas-raiz de falhas e sugestões automáticas de correção diretamente na interface.
- Análise Heurística Avançada: Implementação de algoritmos de agrupamento baseados em expressões regulares dinâmicas para consolidar milhões de linhas de Stack Traces idênticas em incidentes únicos, evitando sobrecarga visual.
- Persistência de Dados Relacional: Integração do Entity Framework Core acoplado ao banco de dados PostgreSQL para armazenar o histórico consolidado de auditorias e o perfil consolidado de métricas por arquivo de log.
- Camada de Armazenamento de Arquivos (Blob Storage): Migração do sistema de arquivos temporários local para uma infraestrutura desacoplada baseada em provedores de nuvem (Object/Blob Storage como AWS S3 ou Azure Blob), salvando os arquivos de log originais com total segurança.
- Paginação Real no Servidor (Server-side Pagination): Refatoração da listagem do Angular para que as operações de ordenação, paginação e filtragem preditiva ocorram no nível do banco de dados (API), permitindo o tratamento fluido de milhões de registros históricos.
- Painel de Métricas (Dashboard): Criação de uma central de monitoramento de saúde de infraestrutura no frontend contendo gráficos interativos de alta performance (via Apache ECharts ou Chart.js), ilustrando a evolução temporal de erros e a integridade geral dos sistemas.
- Exportação Avançada e Corporativa: Suporte para novos formatos de relatórios analíticos de auditoria, gerando de forma assíncrona arquivos PDF estruturados e planilhas Excel (.xlsx) altamente estilizadas e formatadas com dados consolidados.
- Alertas em Tempo Real: Criação de um barramento de notificações orientadas a eventos para disparar e-mails automatizados e ganchos web (Webhooks) customizáveis para plataformas como Slack e Discord sempre que falhas críticas ou instabilidades sejam detectadas.
- Streaming de Processamento com WebSockets: Integração do ASP.NET Core SignalR acoplado ao frontend para fornecer feedback em tempo real (barras de progresso reais linha por linha) durante a leitura assíncrona de arquivos de log pesados que superem a casa dos gigabytes.
Desenvolvido por Rodrigo Ribeiro. Se gostou do projeto ou quer conversar sobre soluções arquiteturais com .NET e Angular, sinta-se à vontade para entrar em contacto!
- E-mail: rodrigong@gmail.com
- LinkedIn: Conecte-se comigo no LinkedIn
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.