Aplicação web para monitoramento de dispositivos IoT em tempo real, com autenticação de usuários e dashboard de visualização de dados.
- Backend: Node.js, Express, Docker, PostgreSQL
- Frontend: React-vite
- Autenticação: JWT
- Comunicação Telnet: telnet-client
- Separação de responsabilidades: Backend para API e lógica de negócios; Frontend para interface do usuário.
- Uso de JWT: Para autenticação segura e escalável.
- PostgreSql: Para armazenamento eficiente e flexível de dados de usuários e dispositivos.
- Autenticação JWT na API para todas as rotas.
- Filtro por usuário nos dispositivos.
- Notificações via WebSocket.
- Paginação e ordenação na listagem de dispositivos.
- O projeto segue uma estrutura organizada para garantir clareza e manutenibilidade do código.
- Abaixo está uma visão geral da estrutura de diretórios do frontend:
frontend/
|-- public/
|-- src/
| |-- assets/
| |-- environment/
| |-- components/
| |-- pages/
| |-- Routers/
| |-- service/
| |-- styles/
| |-- utils/
| |-- _tests_/
|-- main.tsx
|-- tsconfig.json
|-- package.json
|-- ...
- src/: Contém os principais códigos fonte do projeto.
- components/: Componentes React reutilizáveis.
- pages/: Páginas da aplicação.
- service/: Serviços para integração com API ou lógica de negócios.
- styles/: Estilos globais ou compartilhados.
- Routers/: Rotas da aplicação.
- environment/: Variaveis.
- tests/: Em fase de desenvolvimento.
- utils/: Retorna URL da aplicação.
- package.json: Dependências e scripts do projeto.
-
Clone o repositório
git clone <URL> cd agraria-monitoring
-
Configure o Backend
cd backend npm install npm run dev
-
Rode o docker compose
cd backend docker compose up
-
Atualize as migrações do Banco de dados
cd backend npx prisma migrate dev npx prisma migrate deploy
-
Configure o Frontend
cd frontend npm install npm run dev
-
Configure o .env conforme o .env.example