brota
Plataforma IoT para monitoramento de plantas em tempo real
O Problema
O cuidado de plantas depende de dados que os usuários simplesmente não têm. Umidade, temperatura e luz são invisíveis sem as ferramentas certas.
A Solução
Um sistema IoT completo que mede condições ambientais através de sensores custom, processa dados em tempo real e notifica os usuários quando suas plantas precisam de atenção.
Impacto
De dados invisíveis a informações acionáveis — o cuidado de plantas passa a ser data-driven em vez de adivinhação.
Arquitetura
Microcontroladores ESP32 com sensores ambientais (umidade, temperatura, luz)
API Node.js que processa dados de sensores, gerencia dispositivos e lida com lógica de negócio
Banco de dados dual: PostgreSQL (Neon) para dados estruturados, Supabase para auth e realtime
App Flutter multiplataforma para iOS e Android com pareamento BLE de dispositivos
Dashboard Next.js para visualização de dados e gerenciamento de dispositivos
Características Principais
Sensores IoT
Monitoramento ambiental em tempo real com ESP32
Provisionamento BLE
Pareamento e configuração de dispositivos via Bluetooth
Notificações Push
Alertas automáticos quando as plantas precisam de atenção
Dashboard de Plantas
Dados visuais com gráficos históricos e tendências
Integração de Pagamentos
Gerenciamento de assinaturas Stripe para funcionalidades premium
Banco de Dados Dual
Arquitetura PostgreSQL + Supabase para diferentes necessidades
+6 more features in the repo
Por Baixo do Capô
Arquitetura Dual de Banco de Dados
PostgreSQL (Neon) para dados transacionais estruturados, Supabase para auth e assinaturas em tempo real — cada banco de dados cuida do que faz melhor.
- Client request
- API routes to correct DB
- Neon for structured data
- Supabase for auth/realtime
Sistema de Códigos de Erro
Códigos de erro estruturados mapeados a chaves i18n — cada erro é rastreável do backend à UI com suporte completo de locale.
- Backend generates error code
- Code mapped to locale
- Frontend renders localized message
Firmware Thin Client
O ESP32 atua como thin client: lê dados brutos dos sensores, transmite via BLE e deixa o backend gerenciar todo o processamento e as decisões.
- ESP32 reads sensors
- Sends raw data via BLE
- Backend processes and decides
- App displays result