sneridagh / sneridagh.dev

sneridagh's homepage

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sneridagh.dev πŸš€

Built with Cookiecutter Plone Starter Black code style Backend Tests Frontend Tests

sneridagh homepage

Quick Start 🏁

Prerequisites βœ…

Ensure you have the following installed:

  • Python 3.11 🐍
  • Node 18 🟩
  • yarn 🧢
  • Docker 🐳

Installation πŸ”§

  1. Clone the repository:
git clone git@github.com:sneridagh/sneridagh.dev.git
cd sneridagh.dev
  1. Install both Backend and Frontend:
make install

Fire Up the Servers πŸ”₯

  1. Create a new Plone site on your first run:
make create-site
  1. Start the Backend at http://localhost:8080/:
make start-backend
  1. 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://sneridagh.dev.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 sneridagh_dev.
  • frontend: Contains the React (Volto) package.
  • devops: Encompasses Docker Stack and Ansible playbooks.

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

Credits and Acknowledgements πŸ™

Crafted with care by This was generated by cookiecutter-plone-starter on 2023-10-31 08:08:17. A special thanks to all contributors and supporters!

About

sneridagh's homepage


Languages

Language:HTML 33.3%Language:Makefile 17.1%Language:JavaScript 14.6%Language:SCSS 12.2%Language:Python 10.5%Language:CSS 5.6%Language:TypeScript 5.0%Language:Dockerfile 1.3%Language:Jinja 0.5%