Skip to content

plonegovbr/portalbrasil-intranet

Repository files navigation

PortalBrasil: Intranet 🚀

Built with Cookieplone Black code style Tests

Solução de Intranet construída com Plone

Início Rápido 🏁

Pré-requisitos ✅

Certifique-se de ter os seguintes itens instalados:

  • Python 3.11 🐍
  • Node 20 🟩
  • pnpm 🧶
  • Docker 🐳

Instalação 🔧

  1. Clone o repositório:
git clone git@github.com:plonegovbr/portalbrasil-intranet.git
cd portalbrasil-intranet
  1. Instale tanto o Backend quanto o Frontend:
make install

Inicialize os Servidores 🔥

  1. Crie um novo site Plone na primeira execução:
make backend-create-site
  1. Inicie o Backend em http://localhost:8080/:
make backend-start
  1. Em um novo terminal, inicie o Frontend em http://localhost:3000/:
make frontend-start

Voilá! Seu site Plone está no ar e funcionando! 🎉

Implantação Local com Stack 📦

Implemente um ambiente local com Docker Compose, incluindo:

Execute os seguintes comandos:

make stack-start
make stack-create-site

E... pronto! Seu site Plone está rodando localmente! 🚀

Troubleshoot 🔧

Caso tenha problemas para instalar o pnpm, utilize:

npm install -g pnpm

Em caso de RequiredDependencyException, instalar o pacote libjpeg-dev

sudo apt install libjpeg-dev

Estrutura do Projeto 🏗️

Este monorepo consiste em três seções distintas: backend, frontend e devops.

  • backend: Abriga a API e a instalação do Plone, utilizando pip em vez de buildout, e inclui um pacote de políticas chamado plonegovbr.intranet.
  • frontend: Contém o pacote React (Volto).
  • devops: Abrange a Stack Docker, playbooks Ansible e configurações de Cache.

Por que essa Estrutura? 🤔

  • Todo o código necessário para rodar o site está contido no repositório (exceto addons existentes para Plone e React).
  • Workflows específicos do GitHub são acionados com base em alterações em cada base de código (consulte .github/workflows).
  • Facilita a criação de imagens Docker para cada base de código.
  • Demonstra a instalação/configuração do Plone sem o uso do buildout.

Garantia de Qualidade do Código 🧐

Para formatar automaticamente seu código e garantir que ele atenda aos padrões de qualidade, execute:

make format

Os linters podem ser executados individualmente dentro das pastas backend ou frontend.

Internacionalização 🌐

Gere arquivos de tradução para Plone e Volto com facilidade:

make i18n

Créditos e Agradecimentos 🙏

Criado com carinho usando Cookieplone (0.7.1) e cookiecutter-plone (fee7a07) em 01-07-2024 18:46:17.428634. Um agradecimento especial a todos os colaboradores e apoiadores!