Antes de começarmos, este guia assume que você está desenvolvendo componentes para a versão 0.27 do Decidim. Utilizaremos Docker para configurar o ambiente de desenvolvimento.
git clone https://gitlab.com/lappis-unb/decidimbr/components-brasil-participativo/template-component
A estrutura de arquivos após este passo será:
.
├── docker-compose.yml
├── Dockerfile
└── README.md
Na raiz do template do componente, clone o repositório do Decidim:
git clone https://github.com/decidim/decidim.git
A estrutura de arquivos após este passo será:
├── decidim
├── docker-compose.yml
├── Dockerfile
└── README.md
cd decidim
git checkout v0.27.2
cd ..
docker-compose up -d
docker exec -it lappis_ws_decidim_server bash
Atualize o bundler:
gem install bundler:2.3.20
bundle update --bundler
Crie o development_app
bundle install
bin/rake development_app
Durante o processo do rake
, um seed geral do Decidim será gerado.
cd development_app
bin/rails s -b 0.0.0.0 -p 3000
Após a conclusão do Passo 4, utilize as seguintes credenciais para fazer login:
email: [email protected]
senha: decidim123456789
Após seguir esses passos, o ambiente de desenvolvimento estará configurado e pronto para uso.
gem install decidim-generators
⚠ O nome do componente precisa estar no plural ou ser o topo de alguma hierarquia ⚠
decidim --component <nome_do_componente>
cd development_app
Abra o arquivo Gemfile
e adicione a seguinte linha:
gem "decidim-<nome_do_componente>", path: ".."
Agora basta instalar a Gem:
bundle install
Entre pelo terminal dentro do diretorio do template-component
e de o seguinte comando:
sudo chown -R <seu_usuario>:<seu_usuario> decidim/
Apos criar um novo db dentro do seu componente voce precisa rodar o seguinte codigo dentro de development_app
:
bin/rails decidim:upgrade
bin/rails db:migrate
Terminologia:
-
Docker: Uma plataforma para desenvolvimento, envio e execução de aplicativos em contêineres. Contêineres permitem que uma aplicação e suas dependências sejam empacotadas juntas.
-
Docker Compose: Uma ferramenta para definir e executar aplicativos Docker multi-container. O arquivo
docker-compose.yml
neste projeto descreve os serviços, redes e volumes necessários para o ambiente Decidim. -
Bundle: É uma ferramenta para gerenciar as dependências de um projeto Ruby. O comando
bundle install
instala as gemas (bibliotecas Ruby) necessárias para o projeto. -
Rake: Uma ferramenta de construção de software semelhante ao Make, escrita em Ruby. No contexto deste projeto,
bin/rake development_app
é usado para criar o aplicativo Decidim para o ambiente de desenvolvimento. -
Rails: Um framework de desenvolvimento web em Ruby. O comando
rails s -b 0.0.0.0 -p 3000
inicia o servidor web para executar a aplicação Decidim.
Espero que essas explicações ajudem a entender melhor o processo de configuração do ambiente de desenvolvimento para os componentes do Decidim.