{"id":13672814,"url":"https://github.com/dgadelha/Portugol-Webstudio","last_synced_at":"2025-04-28T03:33:07.098Z","repository":{"id":13112119,"uuid":"73637857","full_name":"dgadelha/Portugol-Webstudio","owner":"dgadelha","description":"IDE online para o Portugol","archived":false,"fork":false,"pushed_at":"2025-04-18T18:34:40.000Z","size":67013,"stargazers_count":291,"open_issues_count":9,"forks_count":64,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-04-19T05:16:27.803Z","etag":null,"topics":["hacktoberfest","ide","portugol","portugol-webstudio"],"latest_commit_sha":null,"homepage":"https://portugol.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dgadelha.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}},"created_at":"2016-11-13T19:30:46.000Z","updated_at":"2025-04-16T12:55:28.000Z","dependencies_parsed_at":"2023-11-14T17:40:58.252Z","dependency_job_id":"d08813fb-ebea-4b7b-9301-05069ace49b3","html_url":"https://github.com/dgadelha/Portugol-Webstudio","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgadelha%2FPortugol-Webstudio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgadelha%2FPortugol-Webstudio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgadelha%2FPortugol-Webstudio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgadelha%2FPortugol-Webstudio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dgadelha","download_url":"https://codeload.github.com/dgadelha/Portugol-Webstudio/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251246394,"owners_count":21558762,"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":["hacktoberfest","ide","portugol","portugol-webstudio"],"created_at":"2024-08-02T09:01:49.564Z","updated_at":"2025-04-28T03:33:02.089Z","avatar_url":"https://github.com/dgadelha.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003ca href=\"https://portugol.dev/\"\u003e\u003cimg src=\"./packages/ide/src/assets/lightbulb.svg\" width=\"123px\" alt=\"Portugol Webstudio\" align=\"right\"\u003e\u003c/a\u003e\n\n# Portugol Webstudio\n\n_IDE online para o Portugol_\n\n[![Licença](https://img.shields.io/badge/licen%C3%A7a-GPL-blue.svg)](https://github.com/dgadelha/Portugol-Webstudio/blob/master/LICENSE)\n[![Stars](https://img.shields.io/github/stars/dgadelha/Portugol-Webstudio)](https://github.com/dgadelha/Portugol-Webstudio/stargazers)\n\nBaseado no Portugol Studio, o **Portugol Webstudio** tenta trazer todo ambiente de desenvolvimento que é possível se encontrar no desktop, para a internet. Ele constitui-se de um ambiente de desenvolvimento construído para permitir a criação e a execução dos programas escritos em Portugol, trazendo assim uma experiência o mais próxima do que você pode encontrar da IDE do Portugol Studio. Portugol, também conhecido como Português estruturado, é um pseudocódigo escrito em português.\n\n[![Captura de Tela](.github/screenshot.png)](https://portugol.dev/)\n\n## Características\n\n- Suporta abertura e escrita de arquivos `.por`\n- Permite editar e executar múltiplos códigos ao mesmo tempo\n- Executado no console original do Portugol com interação em tempo real\n- Interface simples e idêntica ao Portugol Studio\n- Código executado diretamente no navegador através de Web Workers\n\n## Estrutura do projeto\n\nO Portugol Webstudio é um projeto que utiliza o framework [Angular](https://angular.io/), [RxJS](https://rxjs.dev/) e [antlr4ng](https://github.com/mike-lischke/antlr4ng). Ele é dividido em 7 pacotes (disponíveis na pasta `packages`):\n\n- `@portugol-webstudio/antlr`: Pacote que contém a gramática do Portugol e a geração do parser, lexer e visitor\n- `@portugol-webstudio/ide`: Pacote que contém a interface do usuário\n- `@portugol-webstudio/parser`: Pacote que contém o novo parser do Portugol, que recebe uma árvore pré-processada pelo ANTLR e a transforma em uma árvore semântica\n- `@portugol-webstudio/resources`: Pacote que contém os recursos do Portugol, como os exemplos e a seção de ajuda\n- `@portugol-webstudio/runner`: Pacote que executa o código gerado pelo transpilador em Web Workers, tratando entrada, saída, erros e eventos.\n- `@portugol-webstudio/runtime`: Pacote que contém o transpilador de Portugol para JavaScript e o código de execução em _runtime_ necessário: variáveis, bibliotecas, etc.\n- `@portugol-webstudio/worker`: Pacote que contém o código que será executado em Web Workers, que é responsável por receber o código do Portugol, e executar a verificação de erros e transpilação do código em uma _thread_ separada.\n\n## Executando o código localmente\n\n1. Certifique-se de possuir instalado o [Node.js LTS](https://nodejs.org/pt-br/download/)\n\n2. Instale as dependências do projeto\n\n```sh\nnpm ci\n```\n\n3. Compile os pacotes:\n\n```sh\nnpm run build\n```\n\n4. Inicie o servidor de desenvolvimento:\n\n```sh\nnpm start\n```\n\nApós isto, você poderá acessar a IDE em: [http://localhost:4200](http://localhost:4200)\n\n## Contribuidores\n\n- [Douglas Gadêlha](https://github.com/dgadelha)\n- [Danilo Gadêlha](https://github.com/dngadelha)\n- [Laboratório de Inovação Tecnológica na Educação (LITE) da Universidade do Vale do Itajaí (UNIVALI)](https://github.com/UNIVALI-LITE)\n\n## Sobre o Projeto\n\n**Autores:** [Douglas Gadêlha](mailto:dgadelha@live.com) e [Danilo Gadêlha](mailto:dngadelha@outlook.com)\n\n## Licença\n\n    Portugol Webstudio - IDE online para o Portugol\n    Copyright (C) 2024  Douglas Gadêlha, Danilo Gadêlha e contribuidores\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdgadelha%2FPortugol-Webstudio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdgadelha%2FPortugol-Webstudio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdgadelha%2FPortugol-Webstudio/lists"}