{"id":15704118,"url":"https://github.com/glaucia86/poc-electron-serial-port","last_synced_at":"2025-05-12T16:34:05.669Z","repository":{"id":81360422,"uuid":"153677499","full_name":"glaucia86/poc-electron-serial-port","owner":"glaucia86","description":"Desenvolvimento de uma aplicação POC em Electron que permita o uso de serial port.","archived":false,"fork":false,"pushed_at":"2018-10-31T20:19:14.000Z","size":46222,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-01T00:38:44.336Z","etag":null,"topics":["dmg","electron","installer","node-usb","nodejs","serialport"],"latest_commit_sha":null,"homepage":null,"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/glaucia86.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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}},"created_at":"2018-10-18T19:34:35.000Z","updated_at":"2022-05-23T22:47:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"f2e03161-260d-4233-aa88-5dead6f3e948","html_url":"https://github.com/glaucia86/poc-electron-serial-port","commit_stats":{"total_commits":87,"total_committers":1,"mean_commits":87.0,"dds":0.0,"last_synced_commit":"7ea9bc0a6210dac8d7578c218dd677527588e95a"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glaucia86%2Fpoc-electron-serial-port","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glaucia86%2Fpoc-electron-serial-port/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glaucia86%2Fpoc-electron-serial-port/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glaucia86%2Fpoc-electron-serial-port/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/glaucia86","download_url":"https://codeload.github.com/glaucia86/poc-electron-serial-port/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253777439,"owners_count":21962688,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["dmg","electron","installer","node-usb","nodejs","serialport"],"created_at":"2024-10-03T20:10:23.637Z","updated_at":"2025-05-12T16:34:05.648Z","avatar_url":"https://github.com/glaucia86.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# POC | MVP: Aplicação em Electron com Serial Port \u0026 Identificador de Portas USB: \n\n[![GitHub license](https://img.shields.io/github/license/glaucia86/poc-electron-serial-port.svg?style=for-the-badge)](https://github.com/glaucia86/poc-electron-serial-port/blob/master/LICENSE.md)\n[![Last version](https://img.shields.io/badge/version-v1.0.0-blue.svg?style=for-the-badge)](https://github.com/glaucia86/poc-electron-serial-port/blob/master/CHANGELOG.md)\n\n\u003cbr /\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://i.imgsafe.org/f5/f5d45ccbe7.jpeg\"/\u003e  \n\u003c/p\u003e\n\nDesenvolvimento de uma aplicação POC em Electron que permita o uso de serial port. Essa aplicação tem como objetivo final ser aplicado num ambiente Windows e ser usado em plataformas de Totem (auto atendimento).\nA aplicação também precisa permitir listar as portas:\n\n* USB;\n* RS232;\n* WebCam;\n* Impressora;\n\n\n## Recursos Utilizados no Desenvolvimento: :mega: \n\nPara realizar as demos dessa série, se faz necessário instalar os seguintes programas:\n\n* Visual Studio Code;\n* Node.JS v.8.x;\n* Electron v. 1.x - [DOWNLOAD AQUI](https://electronjs.org/)\n* Uso da Biblioteca: [serial Port](https://www.npmjs.com/package/serialport);\n* Uso da Biblioteca v.1.x: [node-usb](https://www.npmjs.com/package/node-usb);\n* Uso da Biblioteca: [electron-installer-dmg](https://github.com/electron-userland/electron-installer-dmg);\n* Uso da Biblioteca: [electron-packager](https://github.com/electron-userland/electron-packager);\n* ESlint;\n* ES5;\n\n## Executando Código Localmente: :bulb: \n\nCaso queira testar a aplicação de maneira local basta seguir os passos abaixo:\n\n### Começando: :rocket:\n\nPara começar, você deve simplesmente clonar o repositório do projeto na sua máquina e instalar as dependências.\n\n### Pré-Requisitos\n\nAntes de instalar as dependências no projeto, você precisa seguir os seguintes passos:\n\nPasso: 1) **Node.Js**: Caso não tenha, basta realizar o download [Aqui](https://nodejs.org/en/)\n\nPasso: 2) **Instalar Globalmente o Electron**: bastam digitar o comando abaixo:\n\n```\n\u003e npm install -g electron\n```\n\nPasso: 3) **Instalar Globalmente o electron-packager**: bastam digitar o comando abaixo:\n\n```\n\u003e npm install -g electron-packager \n```\n\nPasso: 5) **Instalar Globalmente o node-pre-gyp**: bastam digitar o comando abaixo: \n\n```\n\u003e npm install -g node-pre-gyp \n```\n\nPasso: 6) **Instalar Globalmente o electron-builder**: bastam digitar o comando abaixo:\n\n```\n\u003e npm install -g electron-builder \n```\n\nPasso: 7) **Instalar Globalmente o electron-installer-debian**: bastam digitar o comando abaixo: (Usuários Linux)\n\n```\n\u003e npm install -g electron-installer-debian \n```\n\nPasso: 0) **Instalar Globalmente o node-gyp**: bastam digitar o comando abaixo:\n\n```\n\u003e npm install -g node-gyp \n```\n\nPasso: 0.1) Já para usuários Windows, para realizar a instalação do **node-gyp** se faz necessário seguir os passos abaixo:\n\n - **0.1.1)** Instalar o Python 2.x: [DOWNLOAD AQUI](https://www.python.org/downloads/)\n\n- **0.1.2)** Instalar globalmente o node-gyp: [DOCUMENTAÇÃO PARA INSTALAÇÃO DE MANEIRA CORRETA AQUI](https://github.com/nodejs/node-gyp)\n\n- **0.1.3)** Criar manualmente o arquivo **binding.gyp** dentro do diretório do node_modules do **AppData**, conforme o exemplo abaixo:\n\n```\n\u003e C:\\users\\UserName\\appdata\\roaming\\npm\\node_modules\\node-gyp\n```\n\n- **0.1.4)** Incluir no arquivo **binding.gyp** o seguinte bloco de código e salve:\n\n```\n{\n    \"targets\": [{\n    \"target_name\": \"binding\",\n    \"sources\": [ \"build/Release/binding.node\" ]\n    }]\n}\n```\n\n- **0.1.5)** Feito isso, agora execute os seguintes comandos abaixo dentro do mesmo diretório do appData:\n\n```\n\u003e node-gyp configure\n```\n\n```\n\u003e node-gyp configure --msvs_version=2015\n```\n\n```\n\u003e node-gyp build\n```\n\nSeguindo todos esses passos, vocês estará para prono para instalar as depedências do projeto na pasta do projeto! ;)\n\n\n### Instalando as Dependências (via Windows):\n\nAbre o cmd (caso esteja utilizando o Windows) e digite a path do seu projeto\n\n```\ncd \"C:\\Users\\NomeDoComputador\\Documents\\...\"\n```\n\nDepois, quando estiver na pasta do projeto, basta digitar no cmd a seguinte instrução: **(dentro do src)**\n\n```\nnpm install\n```\n\nAo digitar a instrução acima, automaticamente ele irá baixar todas as dependências listadas e definidas no arquivo package.json:\n\n* `node_modules` - que contêm os packages do npm que precisará para o projeto.\n\n\n## Executando a Aplicação: :zap: \n\nPara a execução da aplicação se faz necessário ir até o **'src'** do projeto e executar o seguinte comando abaixo:\n\n```\nnpm run start\n```\n\nAo executar o comando acima, apresentará a seguinte janela da aplicação no Electron:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://i.imgsafe.org/f5/f5d45ccbe7.jpeg\"/\u003e  \n\u003c/p\u003e\n\nÉ porque foi executado com sucesso! :smiley:\n\n## Criando o Executável da Aplicação Electron em Diferentes Distros:\n\n\n#### Linux:\n\nPara distros Linux, bastam digitar o comando abaixo:\n\n```\n\u003e npm run package-linux\n```\n\nCriará uma pasta 'release-builds'. Após criado, digitar o comando abaixo:\n\n```\n\u003e npm run create-debian-installer\n```\n\nE... vòilá! Bastam entrar na pasta 'release-builds' e encontrar a extensão .deb para fazer a instalação da aplicação no seu Linux! :smiley:\n\n#### Windows:\n\nPara distros Windows, bastam digitar o comando abaixo:\n\n```\n\u003e build -w\n```\n\n#### MAC:\n\nPara distros MAC, bastam digitar os comandos abaixo:\n\n**Primeiro**: deve executar o comando abaixo para poder gerar o build \u0026 pacotes para o MAC\n\n```\n\u003e build -m\n```\n\n## Deseja Propor Melhorias no Código? Façam Pull Request!!!  :triangular_flag_on_post:\n\nCaso queiram que eu implemente algo no código, abram uma issue nesse repositório. Assim, todos poderão colaborar para o melhor desenvolvimento desse repositório. E sintam-se à vontade em fazer Pull Requests!!\n\nNão esqueçam de dar uma :star: no repositório e claro: Apreciem sem moderação!! :heart: :heart: :heart:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://i.imgsafe.org/e2/e2243b8f92.gif\"/\u003e  \n\u003c/p\u003e\n\n**(documentação em desenvolvimento)**\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglaucia86%2Fpoc-electron-serial-port","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglaucia86%2Fpoc-electron-serial-port","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglaucia86%2Fpoc-electron-serial-port/lists"}