Uma aplicação que simula um ambiente IoT industrial em tempo real, utilizando a metáfora de uma plataforma de streaming (Netflix).
O projeto é dividido em duas partes:
- server/: Backend em Node.js com Socket.io para gerenciar as conexões e o estado das máquinas.
- client/: Frontend em React + Vite para exibir o catálogo, dashboard e simulador.
Você precisará de dois terminais abertos, um para o servidor e outro para o cliente.
No primeiro terminal:
cd server
npm install
npm run devO servidor rodará na porta 3000.
No segundo terminal:
cd client
npm install
npm run devO cliente rodará na porta 5173.
Para rodar tudo com um único comando, certifique-se de ter o Docker e Docker Compose instalados.
docker compose up --buildIsso subirá:
- Frontend: http://localhost:5173
- Backend: http://localhost:3000
Acesse: http://localhost:5173/
- Aqui você vê todas as máquinas disponíveis.
- O status (Online/Offline) é atualizado em tempo real.
Acesse: http://localhost:5173/simulator
- Selecione uma máquina na lista à esquerda (ex: "Esteira 01").
- Ajuste os sliders de temperatura e vibração.
- Clique em "INICIAR TRANSMISSÃO".
- A máquina passará a enviar dados em tempo real para o servidor.
- Volte ao Catálogo e clique na máquina que você ativou.
- Você verá os gráficos e valores atualizando em tempo real, como se estivesse assistindo a um "filme" dos dados da máquina.
Acesse: http://localhost:5173/flows
- Visualize animações interativas de 3 tipos de arquiteturas IoT:
- Padrão (Pull): Sensor -> Backend -> Banco. Usuário busca.
- Direto & Paralelo: Sensor -> Usuário (Tempo Real) + Backend (Armazenamento).
- Backend Push: Backend processa e empurra para o usuário.
- Frontend: React, Vite, TailwindCSS, Recharts, Socket.io-client
- Backend: Node.js, Express, Socket.io