Skip to main content

Arquitetura do sistema

Esta seção contempla a arquitetura e os componentes do sistema Orbit City, que é um sistema de integração de dados de sensores para avaliação e monitoramento. O sistema é composto por várias camadas, cada uma desempenhando um papel específico na coleta, processamento, armazenamento e apresentação de dados ambientais.

📄️ Dashboard

Um dashboard permite que usuários explorem, visualizem e compartilhem insights a partir de conjuntos de dados. No caso específico do projeto, com a utilização do Metabase não há a necessidade de conhecimento avançado em SQL ou programação. O Metabase facilita a criação de painéis interativos e consultas personalizadas, tornando a análise de dados mais acessível para uma variedade de usuários. Nesse projeto, ele é utilizado para a visualização das entidades presentes no banco de dados, criação de gráficos, mapas e outros insights. Abaixo uma visão geral do dashboard criado:

📄️ Banco de dados

O MongoDB oferece uma solução flexível e escalável para projetos que demandam agilidade na manipulação de dados. Sua estrutura baseada em documentos JSON permite adaptar o esquema conforme necessário, enquanto sua capacidade de escala horizontal e desempenho rápido o tornam ideal para lidar com grandes volumes de dados e cargas de trabalho intensivas. Além disso, sua ampla gama de recursos, suporte a consultas complexas e robusto ecossistema de ferramentas e comunidade contribuem para sua popularidade e eficácia em diversos cenários de aplicativos que buscam alta escala e disponibilidade de dados. Com base nisso embasamos a nossa escolha por essa estratégia em detrimento da centrada em um banco de dados relacional.

📄️ Test-Driven Development

A adoção do TDD (Desenvolvimento Orientado a Testes) é uma prática que oferece inúmeros benefícios no processo de desenvolvimento de software. Além de proporcionar feedback imediato sobre as novas funcionalidades, como mencionado anteriormente, o TDD promove a criação de um código mais limpo. Isso ocorre porque os desenvolvedores escrevem códigos simples, focados na passagem dos testes, resultando em uma base de código mais clara e fácil de manter. Essa abordagem não apenas acelera o ciclo de desenvolvimento, mas também contribui para a sustentabilidade e qualidade a longo prazo do software. Segue abaixo uma breve explicação de como esse projeto implementa isso e as instruções para comprovar a esteira de testes desenvolvida.