Acadêmico
AgroSolutions
Microsserviços .NET para o agronegócio.
MVP de plataforma para o agronegócio em ASP.NET Core, com quatro microsserviços e eventos via RabbitMQ. Feito na pós da FIAP.
Sobre o projeto
O que é o AgroSolutions
O AgroSolutions nasceu como projeto de hackathon da pós-graduação em Arquitetura de Sistemas .NET da FIAP (curso 8NETT). Ele cobre a análise do projeto, a arquitetura de software e o desenvolvimento de um MVP de plataforma para o agronegócio, com foco em produtores rurais, propriedades, talhões e dados de sensores de campo, como umidade e temperatura.
A solução é um monorepo com quatro microsserviços em ASP.NET Core, cada um em Arquitetura em Camadas (API, Application, Domain e Infrastructure), que conversam por eventos no RabbitMQ.
Recursos
O que o AgroSolutions faz
Identity Service
Autenticação com JWT Bearer e gestão dos produtores rurais (agro-identity).
Management Service
Cadastro de propriedades e talhões, com uma cópia local dos dados do produtor recebida por evento (agro-management).
Ingestion Service
Recebe os dados dos sensores e os publica na fila, sem conhecer quem vai consumi-los (agro-ingestion).
Alerts Service
Consome a fila, aplica regras de umidade e temperatura, gera alertas e expõe o status para um dashboard (agro-alerts).
Eventos no RabbitMQ
MassTransit sobre RabbitMQ, com ProducerRegisteredEvent, FieldCreatedEvent e SensorDataReceivedEvent. O contrato fica na biblioteca AgroSolutions.Shared.
Pronto para containers
Um Dockerfile por serviço, pipelines em .github/workflows e um projeto de testes xUnit em cada serviço.
FAQ
Perguntas frequentes
Onde foi feito?
Na pós-graduação em Arquitetura de Sistemas .NET da FIAP, como projeto de um hackathon do curso 8NETT.
Quais são os serviços?
Identity, Management, Ingestion e Alerts, cada um em uma pasta do monorepo, mais a biblioteca compartilhada AgroSolutions.Shared com o contrato dos eventos.
Que banco de dados usa?
Entity Framework Core com SQLite, um banco por serviço.
Roda em Kubernetes?
O diagrama de arquitetura do repositório indica a execução em um cluster AKS (Azure Kubernetes Service). Há Dockerfiles para cada serviço.
Como faço o build?
Com docker build a partir da raiz do repositório, apontando com -f para o Dockerfile do serviço, porque os Dockerfiles copiam a biblioteca compartilhada.
Continue explorando
Veja também
English Now
Método de 14 dias com prática ativa de fala, voz nativa e escuta diária: cronograma, fórmulas de frases, diálogos e flashcards.
Ver projeto Teste fechadoTessela
Junta as fotos de uma lâmina de microscopia em um único mosaico: descobre a ordem, alinha cada emenda, confere o resultado e exporta.
Ver projeto DesativadoTriazen
Rede social com feed cronológico, comunidades, conexões e um ambiente mais saudável para conversar.
Ver projeto