{"id":51613994,"url":"https://github.com/lauratrigo/projeto-ecocomp-http","last_synced_at":"2026-07-12T11:31:01.370Z","repository":{"id":352754093,"uuid":"1216391682","full_name":"lauratrigo/projeto-ecocomp-http","owner":"lauratrigo","description":"Projeto de estufa inteligente desenvolvido com ESP32, HTTP, Node.js e MongoDB. O sistema realiza monitoramento ambiental em tempo real, controle remoto de atuadores, automação de irrigação, ventilação e aquecimento, além de disponibilizar dashboard web, histórico de medições e geração de relatórios. 🌱","archived":false,"fork":false,"pushed_at":"2026-06-30T23:41:13.000Z","size":7104,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-01T01:20:17.973Z","etag":null,"topics":["automatization","cpp","css","esp32","esp32-wroom","html","http","iot-application","javascript","site","web"],"latest_commit_sha":null,"homepage":"https://lauratrigo.github.io/projeto-ecocomp-http/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lauratrigo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-20T21:23:55.000Z","updated_at":"2026-06-30T23:43:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/lauratrigo/projeto-ecocomp-http","commit_stats":null,"previous_names":["lauratrigo/projeto-ecocomp","lauratrigo/projeto-ecocomp-http"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lauratrigo/projeto-ecocomp-http","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lauratrigo%2Fprojeto-ecocomp-http","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lauratrigo%2Fprojeto-ecocomp-http/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lauratrigo%2Fprojeto-ecocomp-http/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lauratrigo%2Fprojeto-ecocomp-http/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lauratrigo","download_url":"https://codeload.github.com/lauratrigo/projeto-ecocomp-http/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lauratrigo%2Fprojeto-ecocomp-http/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35391313,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-12T02:00:06.386Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automatization","cpp","css","esp32","esp32-wroom","html","http","iot-application","javascript","site","web"],"created_at":"2026-07-12T11:31:01.245Z","updated_at":"2026-07-12T11:31:01.364Z","avatar_url":"https://github.com/lauratrigo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌱 EcoComp - Inteligência Computacional Aplicada ao Monitoramento de Ecossistemas\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"Estufa.jpeg\" alt=\"Protótipo da Estufa EcoComp\" width=\"500\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\nSistema de monitoramento e automação de estufas inteligentes utilizando \u003cstrong\u003eESP32\u003c/strong\u003e, \u003cstrong\u003eHTTP\u003c/strong\u003e, \u003cstrong\u003eNode.js\u003c/strong\u003e, \u003cstrong\u003eMongoDB Atlas\u003c/strong\u003e e \u003cstrong\u003eAplicação Web\u003c/strong\u003e.\n\u003c/p\u003e\n\n---\n\nO **EcoComp** é um sistema de monitoramento e automação de estufas inteligentes desenvolvido utilizando conceitos de **Internet das Coisas (IoT)**, **Computação em Nuvem**, **Sistemas Embarcados** e **Desenvolvimento Web**.\n\nO projeto permite acompanhar em tempo real as condições ambientais de uma estufa por meio de sensores conectados a um **ESP32**, que envia os dados para uma **API REST** através de requisições **HTTP**. Além disso, é possível controlar remotamente dispositivos de irrigação, ventilação e aquecimento utilizando uma aplicação web.\n\n---\n\n# 🚀 Funcionalidades\n\n## 📊 Monitoramento em Tempo Real\n\n- Temperatura interna da estufa\n- Umidade do ar interna\n- Umidade do solo interna\n- Temperatura externa\n- Umidade do ar externa\n- Umidade do solo externa\n\n## 🤖 Automação Inteligente\n\n- Acionamento automático da bomba de irrigação\n- Controle automático da ventoinha\n- Controle automático da lâmpada de aquecimento\n- Configuração dos limites de automação diretamente pela aplicação web\n\n## 🌐 Aplicação Web\n\n- Cadastro de usuários\n- Login e autenticação\n- Dashboard em tempo real\n- Histórico de medições\n- Filtros por período\n- Exportação de relatórios\n- Controle manual dos atuadores\n\n## ☁️ Infraestrutura\n\n- Comunicação HTTP (REST)\n- API REST em Node.js\n- Banco de Dados MongoDB Atlas\n- Hospedagem da API no Render\n- Controle de versão com Git e GitHub\n\n---\n\n# 🏗️ Arquitetura do Sistema\n\n```text\n           ┌─────────────────┐\n           │     Sensores    │\n           │ DHT22 e Solo    │\n           └────────┬────────┘\n                    │\n                    ▼\n           ┌─────────────────┐\n           │      ESP32      │\n           │ Coleta dos dados│\n           └────────┬────────┘\n                    │ HTTP\n                    ▼\n           ┌─────────────────┐\n           │    API REST     │\n           │    Node.js      │\n           └────────┬────────┘\n                    │\n                    ▼\n           ┌─────────────────┐\n           │ MongoDB Atlas   │\n           └────────┬────────┘\n                    │\n                    ▼\n           ┌─────────────────┐\n           │ Aplicação Web   │\n           │ Dashboard       │\n           │ Histórico       │\n           │ Configurações   │\n           └─────────────────┘\n```\n\n---\n\n# 🔧 Tecnologias Utilizadas\n\n## Hardware\n\n- ESP32\n- 2 Sensores DHT22\n- 2 Sensores de Umidade do Solo\n- Bomba de Irrigação\n- Ventoinha\n- Lâmpada\n\n## Software\n\n### Backend\n\n- Node.js\n- Express.js\n- MongoDB Atlas\n- JWT\n- bcrypt\n\n### Frontend\n\n- HTML5\n- CSS3\n- JavaScript\n\n### Infraestrutura\n\n- HTTP\n- REST API\n- Render\n- GitHub\n\n---\n\n# 📂 Estrutura do Projeto\n\n```text\nprojeto-ecocomp-http\n│\n├── frontend\n│   ├── home.html\n│   ├── historico.html\n│   ├── config.html\n│   ├── login.html\n│   ├── cadastro.html\n│   ├── script.js\n│   ├── historico.js\n│   ├── config.js\n│   └── style.css\n│\n├── script.js (backend)\n│\n├── Estufa.jpeg\n│\n└── README.md\n```\n\n---\n\n# 🧩 Padrão Arquitetural\n\nO backend foi desenvolvido seguindo o padrão **MVC (Model-View-Controller)**.\n\n## Model\n\nResponsável pela representação dos dados e integração com o MongoDB.\n\n## Controller\n\nRecebe as requisições HTTP e coordena o fluxo de execução.\n\n## Service\n\nImplementa as regras de negócio do sistema:\n\n- Processamento das leituras dos sensores\n- Automação da estufa\n- Controle dos atuadores\n- Validação das requisições HTTP\n\n## DAO\n\nResponsável pelo acesso ao banco de dados.\n\n## Router\n\nDefine as rotas da API.\n\n## Middleware\n\nRealiza autenticação e validações.\n\n---\n\n# 🌐 Comunicação HTTP\n\nO ESP32 envia periodicamente as leituras dos sensores para a API utilizando requisições HTTP.\n\n## Envio de Telemetria\n\n```http\nPOST /api/readings\n```\n\nExemplo de corpo da requisição:\n\n```json\n{\n  \"deviceId\": \"estufa-001\",\n  \"soil\": 45,\n  \"airTemp\": 24,\n  \"airHumidity\": 62,\n  \"soilExternal\": 40,\n  \"tempExternal\": 22,\n  \"airHumidityExternal\": 65\n}\n```\n\n## Controle dos Atuadores\n\nA aplicação web envia comandos para os dispositivos através da API.\n\n```http\nPUT /api/actuators/:deviceId\n```\n\nExemplo:\n\n```json\n{\n  \"bomba\": true,\n  \"ventoinha\": false,\n  \"lampada\": false\n}\n```\n\n## Configuração da Automação\n\n```http\nPUT /api/configs/:deviceId\n```\n\nExemplo:\n\n```json\n{\n  \"soloMin\": 40,\n  \"tempMax\": 32,\n  \"tempMin\": 18\n}\n```\n\n---\n\n# 🤖 Regras de Automação\n\nO sistema realiza automaticamente o controle dos atuadores com base nos limites configurados.\n\n## Irrigação\n\n```text\nSe umidade do solo ≤ soloMin\n→ Liga a bomba\n```\n\n## Resfriamento\n\n```text\nSe temperatura ≥ tempMax\n→ Liga a ventoinha\n```\n\n## Aquecimento\n\n```text\nSe temperatura ≤ tempMin\n→ Liga a lâmpada\n```\n\n---\n\n# 🗄️ Banco de Dados\n\nO MongoDB Atlas utiliza as seguintes coleções:\n\n## devices\n\nCadastro das estufas monitoradas pelo sistema.\n\n## readings\n\nHistórico completo das medições realizadas pelos sensores.\n\n## configs\n\nConfigurações de automação da estufa.\n\n## actuators\n\nEstado atual dos atuadores.\n\n## users\n\nUsuários cadastrados na plataforma.\n\n---\n\n# 📸 Funcionalidades da Interface\n\n## Dashboard\n\n- Dados em tempo real\n- Comparação entre ambiente interno e externo\n- Indicadores visuais\n\n## Histórico\n\n- Últimas 24 horas\n- Últimos 7 dias\n- Últimos 30 dias\n- Período personalizado\n\n## Configurações\n\n- Controle manual dos atuadores\n- Configuração dos parâmetros automáticos\n\n## Usuários\n\n- Cadastro\n- Login\n- Recuperação de senha\n\n---\n\n# 👩‍💻 Desenvolvedoras\n\n- Laura Trigo\n- Josiely Toledo\n\nProjeto desenvolvido para a disciplina de **Projeto de Engenharia da Computação II**.\n\n---\n\n# 📜 Licença\n\nEste projeto possui fins acadêmicos e educacionais.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flauratrigo%2Fprojeto-ecocomp-http","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flauratrigo%2Fprojeto-ecocomp-http","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flauratrigo%2Fprojeto-ecocomp-http/lists"}