{"id":50697979,"url":"https://github.com/hacklabr/mapas-testes","last_synced_at":"2026-06-09T07:35:42.774Z","repository":{"id":137671046,"uuid":"608635800","full_name":"hacklabr/mapas-testes","owner":"hacklabr","description":"ambiente de testes do mapas culturais","archived":false,"fork":false,"pushed_at":"2024-09-06T17:46:39.000Z","size":190,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":9,"default_branch":"feature/BaseV2","last_synced_at":"2024-09-06T21:03:29.665Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PLpgSQL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hacklabr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-03-02T12:35:33.000Z","updated_at":"2023-03-20T16:44:22.000Z","dependencies_parsed_at":"2024-01-31T21:34:23.721Z","dependency_job_id":"70814b84-8a8f-4ca8-a1ba-5423f3d0b61d","html_url":"https://github.com/hacklabr/mapas-testes","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hacklabr/mapas-testes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacklabr%2Fmapas-testes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacklabr%2Fmapas-testes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacklabr%2Fmapas-testes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacklabr%2Fmapas-testes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hacklabr","download_url":"https://codeload.github.com/hacklabr/mapas-testes/tar.gz/refs/heads/feature/BaseV2","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacklabr%2Fmapas-testes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34096952,"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-06-09T02:00:06.510Z","response_time":63,"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":[],"created_at":"2026-06-09T07:35:41.728Z","updated_at":"2026-06-09T07:35:42.766Z","avatar_url":"https://github.com/hacklabr.png","language":"PLpgSQL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mapas Culturais Base Project - MapasDev\nEste é um projeto base para desenvolvimento de temas e plugins.\n\n## Estrutura de arquivos\n- **start.sh** - inicializa o ambiente de produçao/staging\n- **restart.sh** - reinicializa o ambiente de produçao/staging\n- **stop.sh** - desliga o ambiente de produçao/staging\n- **update.sh** - atualiza o ambiente de produção\n- **logs.sh** - exibe o output do docker-composer de produção, para visualização dos logs\n- **bash.sh** - acessa o terminal do container do Mapas\n- **psql.sh** - acessa o console psql do banco de dados\n- **init-letsencrypt.sh** - script para auxiliar a instalação do let's encrypt\n- **compose/** - arquivos de configuração e outros utilizados pelo docker-compose\n    - **common/** - arquivos comuns aos ambientes de desenvolvimento e produção\n    - **local/** - arquivos exclusivamente para o ambiente de desenvolvimento\n    - **production/** - arquivos exclusivamente para o ambiente de produção\n- **dev-scripts/** - scripts auxiliares para o desenvolvimento\n    - **start-dev.sh** - script que inicializa o ambiente de desenvolvimento\n    - **bash.sh** - entra no container da aplicação\n    - **shell.sh** - entra no shell do mapas culturais\n    - **psql.sh** - entra no banco de dados da aplicação\n    - **docker-compose.local.yml** - arquivo de definição do docker-compose utilizado pelos scripts acima\n- **plugins** - pasta com os plugins desenvolvidos exclusivamente para o projeto\n    - **SamplePlugin** - esqueleto de plugin para demostração e para servir de base para o desenvolvimento de outros plugins\n- **themes** - pasta com os temas desenvolvidos exclusivaente para o projeto\n    - **SampleTheme** - esqueleto de tema filho de Subsite para demostração e para servir de base para o desenvolvimento de outros temas\n\n## Guia rápido para início de novo projeto\nAntes de tudo certifique-se de ter os pacotes _git_, _docker_ e _docker-compose_ instalados e estar utilizando sistema operacional Linux ou MacOS. \n\n_Nos exemplos é usado o comando sudo para que os scripts tenham os privilégios requeridos pelo docker._\n\n### Criando repositório do projeto\nCrie um repositório vazio no github ou gitlab (usarei de exemplo o nome _https://github.com/organizacao/meu-mapas_)\n\nClone o repositório do projeto base no seu computador\n```\n$ git clone https://github.com/mapasculturais/mapasculturais-base-project.git meu-mapas\n$ cd meu-mapas\n```\n\nSubstitua a url do remote origin para a url de seu repositório\n```\nmeu-mapas/$ git remote set-url origin https://github.com/organizacao/meu-mapas\n\n# ou, se você tiver sua chave no github\nmeu-mapas/$ git remote set-url origin git@github.com:organizacao/meu-mapas\n\n```\n\nDê git push no repositório para enviar a versão inicial para seu repositório vazio.\n```\nmeu-mapas/$ git push\nTo github.com:organizacao/meu-mapas\n * [new branch]      master -\u003e master\n\n```\n\n## Ambiente de desenvolvimento\n\n### Iniciando o ambiente de desenvolvimento\nPara subir o ambiente de desenvolvimento basta entrar na pasta `dev-scripts` e rodar o script `start-dev.sh`.\n\n```\nmapacultural/dev-scripts/$ sudo ./start-dev.sh\n```\n\nacesse no seu navegador http://localhost/\n\n### psysh\nEste ambiente roda com o built-in web server do PHP, o que possibilita que seja utilizado o [PsySH](https://psysh.org/]), um console interativo para debug e desenvolvimento. \n\nno lugar desejado, adicione a linha `eval(\\psy\\sh());` e você obterá um console. `Ctrl + D` para continuar a execução do código.\n\n### Parando o ambiente de desenvolvimento\nPara parar o ambiente de desenvolvimento usar as teclas `Ctrl + C`\n\n### Usuário super administrador da rede\nO banco de dados inicial inclui um usuário de role `saasSuperAdmin` de **id** `1` e **email** `Admin@local`.\nEste usuário possui permissão de criar, modificar e deletar qualquer objeto do banco.\n\n- **email**: `Admin@local`\n- **senha**: `mapas123`\n\n# Criando um novo tema\nUsaremos para exemplo o nome de tema `NovoTema`\n\n1. copie a pasta `themes/SampleTheme` para `themes/NovoTema`;\n```\nmeu-mapas/themes$ cp -a SamplesTheme NovoTema\n```\n2. edite o arquivo `dev-scripts/docker-compose.yml` adicionando uma linha na seção _volumes_ para o tema:\n```\n    - ../themes/NovoTema:/var/www/html/protected/application/themes/NovoTema\n```\n3. edite o arquivo `themes/NovoTema/Theme.php` e substitua o namespace (linha 2) por `NovoTema`:\n```+PHP\n\u003c?php\nnamespace NovoTema;\n```\n\n## Criando um novo plugin\nUsaremos para exemplo o seguinte nome para o plugin: `MeuPlugin`\n\n1. copie a pasta `plugins/SamplePlugin` para `plugins/MeuPlugin`;\n```\nmeu-mapas/plugins$ cp -a SamplesTheme MeuPlugin\n```\n2. edite o arquivo `dev-scripts/docker-compose.yml` adicionando uma linha na seção _volumes_ para o tema:\n```\n    - ../plugins/MeuPlugin:/var/www/html/protected/application/plugins/MeuPlugin\n```\n3. edite o arquivo `plugins/MeuPlugin/Plugin.php` e substitua o namespace (linha 2) por `MeuPlugin`:\n```+PHP\n\u003c?php\nnamespace MeuPlugin;\n```\n\n## Ambiente de produção\nPara subir o ambiente de produção é necessário criar o arquivo `.env` baseado no arquivo `.env_sample`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhacklabr%2Fmapas-testes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhacklabr%2Fmapas-testes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhacklabr%2Fmapas-testes/lists"}