Implementado hoje: ✅ Sistema de auto-start completo ✅ Sistema MDM backend completo ✅ Migração PointControl→NoIdle executada ✅ Dashboard com métricas em tempo real ✅ API /dashboard/stats funcionando ✅ Tailwind CSS configurado ✅ 30+ arquivos criados ✅ 6.000+ linhas de código Pendências para amanhã: ❌ Menu lateral aparece duplicado (investigar) ❌ Tabelas MDM não criadas no banco (erro PostgreSQL) ❌ Frontend de políticas não implementado ❌ Integração CLIENT_MDM no cliente Windows ❌ Build do cliente Windows Ver: ESTADO_ATUAL_E_PROXIMOS_PASSOS.md
NoIdle - Sistema de Monitoramento de Atividades
Zero Idle, Maximum Productivity
Sistema completo de monitoramento de atividades de usuários em tempo real, incluindo cliente Windows, backend Node.js e dashboard web.
📋 Sobre o Projeto
NoIdle é um sistema de monitoramento de produtividade que captura e registra:
- ✅ Aplicativos ativos
- ✅ Títulos de janelas
- ✅ URLs navegadas (Chrome, Edge, Firefox)
- ✅ Tempo ocioso
- ✅ Eventos de logon/logoff
- ✅ Heartbeat de dispositivos
🏗️ Arquitetura
NoIdle/
├── backend/ # API Node.js + Express + PostgreSQL
├── frontend/ # Dashboard Next.js + React
├── CLIENTE_CORRIGIDO.py # Cliente Windows (Python)
└── scripts/ # Scripts PowerShell de configuração
🚀 Componentes
1. Cliente Windows (CLIENTE_CORRIGIDO.py)
Cliente Python que roda em segundo plano nos computadores Windows:
Recursos:
- ✅ Monitoramento de janelas ativas
- ✅ Captura de URLs dos navegadores
- ✅ Detecção de tempo ocioso
- ✅ Auto-start após reinicialização
- ✅ Modo silencioso (
--silent) - ✅ System tray icon
- ✅ Eventos de sessão (logon/logoff)
Instalação:
# Ativar o cliente
.\NoIdle.exe
# Modo silencioso (após ativação)
.\NoIdle.exe --silent
2. Backend (Node.js)
API REST que processa e armazena os dados.
Tecnologias:
- Node.js + Express
- PostgreSQL
- PM2 (gerenciamento de processos)
Endpoints:
POST /api/devices/activate- Ativar dispositivoPOST /api/devices/heartbeat- HeartbeatPOST /api/activity/log- Registrar atividadePOST /api/activity/session- Eventos de sessão
3. Frontend (Next.js)
Dashboard web para visualização e gerenciamento.
URL: https://admin.noidle.tech
Recursos:
- 📊 Dashboard de atividades em tempo real
- 👥 Gerenciamento de usuários e dispositivos
- 📈 Relatórios e estatísticas
- 🔍 Histórico de navegação
- ⏱️ Análise de tempo ocioso
🔧 Problema Resolvido: Auto-Start
❌ Problema
O cliente não iniciava automaticamente após reinicialização do Windows.
✅ Solução Implementada
3 Camadas de Proteção:
- Registro do Windows - Método primário
- Task Scheduler - Backup com auto-restart
- Modo Silencioso - Execução sem interface
Scripts de Correção:
CONFIGURAR_AUTOSTART_NOIDLE.ps1- Configurar auto-startVERIFICAR_E_CORRIGIR_NOIDLE.ps1- Diagnóstico + correção automática
Documentação:
LEIA_PRIMEIRO.md- Guia rápidoSOLUCAO_AUTOSTART.md- Documentação técnica completa
📦 Compilação do Cliente
Windows (Recomendado)
# Usando script automatizado
.\BUILD_NOIDLE.ps1
# Ou manualmente
pip install pyinstaller pywin32 psutil requests pystray pillow schedule
pyinstaller --onefile --windowed --name NoIdle CLIENTE_CORRIGIDO.py
Linux (Docker)
# Usando script automatizado
./BUILD_LINUX.sh
# Ou manualmente
docker run --rm -v $(pwd):/src cdrx/pyinstaller-windows:python3 \
/bin/bash -c "pip install pywin32 psutil requests pystray pillow schedule && \
pyinstaller --onefile --windowed --name NoIdle CLIENTE_CORRIGIDO.py"
Documentação: Ver BUILD_CLIENTE.md para detalhes completos.
📚 Documentação
Para Usuários Finais
LEIA_PRIMEIRO.md- Comece por aqui!GUIA_RAPIDO_AUTOSTART.md- Guia rápido de resolução de problemas
Para Suporte Técnico
SOLUCAO_AUTOSTART.md- Troubleshooting completoVERIFICAR_E_CORRIGIR_NOIDLE.ps1- Script de diagnóstico
Para Desenvolvedores
BUILD_CLIENTE.md- Como compilar o clienteCOMANDOS_BUILD.md- Quick reference de comandosREADME_SOLUCAO_AUTOSTART.md- Visão geral da soluçãoCLIENT_CONFIG.md- Configuração da APIESPECIFICACAO_CLIENTE_WINDOWS.md- Especificação técnica
🚀 Quick Start
1. Backend
cd backend
npm install
npm run dev
2. Frontend
cd frontend
npm install
npm run dev
3. Cliente Windows
# Compilar
.\BUILD_NOIDLE.ps1
# Testar
.\dist\NoIdle.exe
🔐 Configuração
Backend (.env)
DATABASE_URL=postgresql://user:pass@localhost:5432/noidle
PORT=3000
NODE_ENV=production
Cliente (config.json)
{
"device_id": "DEV-XXXX",
"api_url": "https://admin.noidle.tech/api"
}
📊 Estrutura do Banco de Dados
-- Principais tabelas
devices -- Dispositivos cadastrados
activities -- Atividades registradas
browsing_history -- Histórico de navegação
session_events -- Eventos de logon/logoff
users -- Usuários do sistema
🛠️ Scripts PowerShell
Configuração
INSTALADOR_POWERSHELL.ps1- Instalador completoCONFIGURAR_AUTOSTART_NOIDLE.ps1- Configurar auto-start
Diagnóstico
VERIFICAR_E_CORRIGIR_NOIDLE.ps1- Diagnóstico completoDIAGNOSTICO_CLIENTE_WINDOWS.ps1- Diagnóstico detalhadoVERIFICAR_CLIENTE_SIMPLES.ps1- Verificação rápida
Build
BUILD_NOIDLE.ps1- Build automatizado (Windows)BUILD_LINUX.sh- Build automatizado (Linux)
🧪 Testes
Testar Cliente
# Iniciar em modo silencioso
.\NoIdle.exe --silent
# Verificar processo
Get-Process -Name "NoIdle"
# Verificar auto-start
Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "NoIdle"
Testar API
# Heartbeat
curl -X POST https://admin.noidle.tech/api/devices/heartbeat \
-H "Content-Type: application/json" \
-d '{"device_id":"TEST"}'
📦 Distribuição
Pacote Completo
NoIdle-v1.0.zip
├── NoIdle.exe
├── CONFIGURAR_AUTOSTART_NOIDLE.ps1
├── VERIFICAR_E_CORRIGIR_NOIDLE.ps1
├── GUIA_RAPIDO_AUTOSTART.md
└── LEIA_PRIMEIRO.md
🔄 Changelog
v1.0 (2025-11-16)
- ✅ Cliente com modo silencioso
- ✅ Auto-start robusto (Registry + Task Scheduler)
- ✅ Scripts de diagnóstico e correção
- ✅ Documentação completa
- ✅ Build scripts para Windows e Linux
🤝 Contribuindo
- Fork o projeto
- Crie uma branch (
git checkout -b feature/nova-funcionalidade) - Commit suas mudanças (
git commit -m 'Adiciona nova funcionalidade') - Push para a branch (
git push origin feature/nova-funcionalidade) - Abra um Pull Request
📄 Licença
Proprietary - Todos os direitos reservados
👨💻 Autor
Sérgio Corrêa
- Repositório: https://meurepositorio.com/sergio.correa/NoIdle
🆘 Suporte
Para problemas ou dúvidas:
- Consulte
LEIA_PRIMEIRO.md - Execute
VERIFICAR_E_CORRIGIR_NOIDLE.ps1 - Verifique a documentação em
/docs
✅ Status do Projeto
- ✅ Backend: Funcionando
- ✅ Frontend: Funcionando
- ✅ Cliente Windows: Funcionando
- ✅ Auto-start: Resolvido
- ✅ Documentação: Completa
- ✅ Build Scripts: Prontos
NoIdle - Zero Idle, Maximum Productivity 🚀