An open API service indexing awesome lists of open source software.

https://github.com/kitconcept/kitconcept.blog


https://github.com/kitconcept/kitconcept.blog

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

          

# kitconcept.blog ๐Ÿš€

[![Built with Cookiecutter Plone Starter](https://img.shields.io/badge/built%20with-Cookiecutter%20Plone%20Starter-0083be.svg?logo=cookiecutter)](https://github.com/collective/cookiecutter-plone-starter/)
[![Black code style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
[![Backend Tests](https://github.com/kitconcept/kitconcept-blog/actions/workflows/backend.yml/badge.svg)](https://github.com/kitconcept/kitconcept-blog/actions/workflows/backend.yml)
[![Frontend Tests](https://github.com/kitconcept/kitconcept-blog/actions/workflows/frontend.yml/badge.svg)](https://github.com/kitconcept/kitconcept-blog/actions/workflows/frontend.yml)

A new project using Plone 6.

## Quick Start ๐Ÿ

### Prerequisites โœ…

Ensure you have the following installed:

- Python 3.11 ๐Ÿ
- Node 18 ๐ŸŸฉ
- yarn ๐Ÿงถ
- Docker ๐Ÿณ

### Installation ๐Ÿ”ง

1. Clone the repository:

```shell
git clone git@github.com:kitconcept/kitconcept-blog.git
cd kitconcept-blog
```

2. Install both Backend and Frontend:

```shell
make install
```

### Fire Up the Servers ๐Ÿ”ฅ

1. Create a new Plone site on your first run:

```shell
make create-site
```

2. Start the Backend at [http://localhost:8080/](http://localhost:8080/):

```shell
make start-backend
```

3. In a new terminal, start the Frontend at [http://localhost:3000/](http://localhost:3000/):

```shell
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://kitconcept-blog.localhost](http://kitconcept-blog.localhost) ๐ŸŒ

Execute the following:

```shell
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 kitconcept_blog.
- **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:

```shell
make format
```

Linters can be run individually within the `backend` or `frontend` folders.

## Internationalization ๐ŸŒ

Generate translation files for Plone and Volto with ease:

```shell
make i18n
```

## Credits and Acknowledgements ๐Ÿ™

Crafted with care by **This was generated by [cookiecutter-plone-starter](https://github.com/collective/cookiecutter-plone-starter) on 2023-10-27 09:04:19**. A special thanks to all contributors and supporters!