# 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:** ```powershell # 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 dispositivo - `POST /api/devices/heartbeat` - Heartbeat - `POST /api/activity/log` - Registrar atividade - `POST /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:** 1. **Registro do Windows** - Método primário 2. **Task Scheduler** - Backup com auto-restart 3. **Modo Silencioso** - Execução sem interface **Scripts de Correção:** - `CONFIGURAR_AUTOSTART_NOIDLE.ps1` - Configurar auto-start - `VERIFICAR_E_CORRIGIR_NOIDLE.ps1` - Diagnóstico + correção automática **Documentação:** - `LEIA_PRIMEIRO.md` - Guia rápido - `SOLUCAO_AUTOSTART.md` - Documentação técnica completa --- ## 📦 Compilação do Cliente ### Windows (Recomendado) ```powershell # 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) ```bash # 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 completo - **`VERIFICAR_E_CORRIGIR_NOIDLE.ps1`** - Script de diagnóstico ### Para Desenvolvedores - **`BUILD_CLIENTE.md`** - Como compilar o cliente - **`COMANDOS_BUILD.md`** - Quick reference de comandos - **`README_SOLUCAO_AUTOSTART.md`** - Visão geral da solução - **`CLIENT_CONFIG.md`** - Configuração da API - **`ESPECIFICACAO_CLIENTE_WINDOWS.md`** - Especificação técnica --- ## 🚀 Quick Start ### 1. Backend ```bash cd backend npm install npm run dev ``` ### 2. Frontend ```bash cd frontend npm install npm run dev ``` ### 3. Cliente Windows ```powershell # Compilar .\BUILD_NOIDLE.ps1 # Testar .\dist\NoIdle.exe ``` --- ## 🔐 Configuração ### Backend (.env) ```env DATABASE_URL=postgresql://user:pass@localhost:5432/noidle PORT=3000 NODE_ENV=production ``` ### Cliente (config.json) ```json { "device_id": "DEV-XXXX", "api_url": "https://admin.noidle.tech/api" } ``` --- ## 📊 Estrutura do Banco de Dados ```sql -- 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 completo - **`CONFIGURAR_AUTOSTART_NOIDLE.ps1`** - Configurar auto-start ### Diagnóstico - **`VERIFICAR_E_CORRIGIR_NOIDLE.ps1`** - Diagnóstico completo - **`DIAGNOSTICO_CLIENTE_WINDOWS.ps1`** - Diagnóstico detalhado - **`VERIFICAR_CLIENTE_SIMPLES.ps1`** - Verificação rápida ### Build - **`BUILD_NOIDLE.ps1`** - Build automatizado (Windows) - **`BUILD_LINUX.sh`** - Build automatizado (Linux) --- ## 🧪 Testes ### Testar Cliente ```powershell # 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 ```bash # 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 1. Fork o projeto 2. Crie uma branch (`git checkout -b feature/nova-funcionalidade`) 3. Commit suas mudanças (`git commit -m 'Adiciona nova funcionalidade'`) 4. Push para a branch (`git push origin feature/nova-funcionalidade`) 5. 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: 1. Consulte `LEIA_PRIMEIRO.md` 2. Execute `VERIFICAR_E_CORRIGIR_NOIDLE.ps1` 3. 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** 🚀