Skip to content

plonegovbr/brfieldsandwidgets

Repository files navigation

Brazilian Fields and Widgets for Plone 🚀

Built with Cookieplone Tests

A monorepo containing Python and Node packages that implement Plone Dexterity fields and Volto widgets used in Brazilian projects.

Quick Start 🏁

Prerequisites ✅

Ensure you have the following installed:

  • UV 🐍 (Python dependency manager)
  • Node.js 22 🟩
  • pnpm 🧶 (JavaScript package manager)
  • Docker 🐳 (Containerized environment)

Installation 🔧

  1. Clone the repository:
git clone [email protected]:plonegovbr/brfieldsandwidgets.git
cd brfieldsandwidgets
  1. Install dependencies for both Backend and Frontend:
make install

Fire Up the Servers 🔥

  1. Start the Backend (Plone) at http://localhost:8080/:
make backend-start
  1. In a new terminal, start the Frontend (Volto) at http://localhost:3000/:
make frontend-start

🎉 Your Plone development environment is now live!

Running with Docker 📦

This setup includes:

  • Prebuilt Docker images for Backend and Frontend 🖼️
  • A complete stack with a Traefik router and a Postgres database 🗃️
  • Accessible at http://brfieldsandwidgets.localhost 🌐

To start the Docker-based environment, simply run:

docker compose up -d

Once the backend image is running, create a Plone site with:

docker compose exec backend './docker-entrypoint.sh create-site'

🚀 Your Plone site is now up and running locally!

Project Structure 🏗️

This monorepo hosts two packages:

  • backend/: Python package plonegovbr.brfields for Plone Dexterity fields.
  • frontend/: React package @plonegovbr/volto-brwidgets for Volto widgets.

Contributing 🤝

Contributions are welcome! If you find any issues or want to suggest improvements, please check out:

Every pull request requires a Change log entruy. The location of the news folder is the following:

  • backend: backend/news
  • frontend: frontend/packages/volto-brwidgets/news

Code Quality Assurance 🧐

Ensure your code follows best practices by running the following commands:

  • Format the codebase:
make format
  • Lint the code for errors and adherence to Plone standards:
make lint

You can also run these commands separately in the backend or frontend folders.

Internationalization 🌐

Easily generate translation files for both Plone and Volto:

make i18n

Credits & Acknowledgements 🙏

This package is developed and maintained by the PloneGov-BR community ❤️.