A monorepo containing Python and Node packages that implement Plone Dexterity fields and Volto widgets used in Brazilian projects.
Ensure you have the following installed:
- UV 🐍 (Python dependency manager)
- Node.js 22 🟩
- pnpm 🧶 (JavaScript package manager)
- Docker 🐳 (Containerized environment)
- Clone the repository:
git clone [email protected]:plonegovbr/brfieldsandwidgets.git
cd brfieldsandwidgets
- Install dependencies for both Backend and Frontend:
make install
- Start the Backend (Plone) at http://localhost:8080/:
make backend-start
- In a new terminal, start the Frontend (Volto) at http://localhost:3000/:
make frontend-start
🎉 Your Plone development environment is now live!
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!
This monorepo hosts two packages:
- backend/: Python package
plonegovbr.brfields
for Plone Dexterity fields. - frontend/: React package
@plonegovbr/volto-brwidgets
for Volto widgets.
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
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.
Easily generate translation files for both Plone and Volto:
make i18n
This package is developed and maintained by the PloneGov-BR community ❤️.