Extranet CMCuritiba π
![Frontend Tests](https://github.com/cmcuritiba/extranet-cmc/actions/workflows/frontend.yml/badge.svg)
Extranet da CΓ’mara Municipal de Curitiba baseado em Plone 6 - Volto.
Quick Start π
Prerequisites β
Ensure you have the following installed:
- Python 3.11 π
- Node 18 π©
- yarn π§Ά
- Docker π³
Installation π§
- Clone the repository:
git clone git@github.com:cmcuritiba/extranet-cmc.git
cd extranet-cmc
- Install both Backend and Frontend:
make install
Fire Up the Servers π₯
- Create a new Plone site on your first run:
make create-site
- Start the Backend at http://localhost:8080/:
make start-backend
- In a new terminal, start the Frontend at http://localhost:3000/:
make start-frontend
Voila! Your Plone site should be live and kicking! π
Local Stack Deployment π¦
Deploy a local Docker Compose
environment that includes:
- Docker images for Backend and Frontend πΌοΈ
- A stack with a Traefik router and a Postgres database ποΈ
- Accessible at http://extranet-cmc.localhost π
Execute the following:
make stack-start
make stack-create-site
And... you're all set! Your Plone site is up and running locally! π
Project Structure ποΈ
This monorepo consists of three distinct sections: backend
, frontend
, and devops
.
- backend: Houses the API and Plone installation, utilizing pip instead of buildout, and includes a policy package named extranet_cmc.
- frontend: Contains the React (Volto) package.
- devops: Encompasses Docker Stack, Ansible playbooks, and Cache settings.
Why This Structure? π€
- All necessary codebases to run the site are contained within the repo (excluding existing addons for Plone and React).
- Specific GitHub Workflows are triggered based on changes in each codebase (refer to .github/workflows).
- Simplifies the creation of Docker images for each codebase.
- Demonstrates Plone installation/setup without buildout.
Code Quality Assurance π§
To automatically format your code and ensure it adheres to quality standards, execute:
make format
Linters can be run individually within the backend
or frontend
folders.
Internationalization π
Generate translation files for Plone and Volto with ease:
make i18n
Docs maintenance.
The documentation source is under the docs dir, we have some commands to help building the docs.
Docs help message
make docs-help
remove all build, test, coverage and Python artifacts
make docs-clean
Install sphinx requirements.
make docs-setup
Build html
make docs-html
Rebuild Sphinx documentation on changes, with live-reload in the browser
make docs-livehtml
Run linkcheck
make docs-linkcheck
Run linkcheck and show only broken links
make docs-linkcheckbroken
Install (once) and run Vale style, grammar, and spell checks
make docs-vale
Clean docs build, then run linkcheckbroken, vale
make docs-test
Credits and Acknowledgements π
Crafted with care by This was generated by cookiecutter-plone-starter on 2023-12-11 17:28:09. A special thanks to all contributors and supporters!