https://github.com/kitconcept/kitconcept-website
A CMS solution for public websites. Created by kitconcept.
https://github.com/kitconcept/kitconcept-website
Last synced: 3 months ago
JSON representation
A CMS solution for public websites. Created by kitconcept.
- Host: GitHub
- URL: https://github.com/kitconcept/kitconcept-website
- Owner: kitconcept
- Created: 2025-05-28T12:38:41.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-02-16T16:05:13.000Z (4 months ago)
- Last Synced: 2026-02-16T22:15:36.013Z (4 months ago)
- Language: Python
- Size: 35.6 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# kitconcept Site ๐
[](https://github.com/plone/cookiecutter-plone/)
[](https://github.com/kitconcept/kitconcept-website/actions/workflows/main.yml)
A CMS solution for public websites. Created by kitconcept.
## Quick Start ๐
### Prerequisites โ
Ensure you have the following installed:
- Python 3.12 ๐
- Node 20 ๐ฉ
- pnpm ๐งถ
- Docker ๐ณ
### Installation ๐ง
1. Clone the repository:
```shell
git clone git@github.com:kitconcept/kitconcept-website.git
cd kitconcept.website
```
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 backend-create-site
```
or create the site manually by visiting [http://localhost:8080/](http://localhost:8080/).
2. Start the Backend at [http://localhost:8080/](http://localhost:8080/):
```shell
make backend-start
```
3. In a new terminal, start the Frontend at [http://localhost:3000/](http://localhost:3000/):
```shell
make frontend-start
```
Voila! Your Plone site should be live and kicking! ๐
### Manual site creation ๐ฅ
Point your browser at [http://localhost:8080/](http://localhost:8080/) and you will be greated with the site creation page:

After selecting **kitconcept Site** you will see a form:

#### Authentication
Choosing **Keycloak** for user authentication will present configuration options:

Choosing **OIDC / OAuth2** for user authentication will present configuration options:

Choosing **Google** for user authentication will present configuration options:

Choosing **GitHub** for user authentication will present configuration options:

### 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.website.localhost](http://kitconcept.website.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.website.
- **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:
```shell
make check
```
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 **Generated using [Cookieplone (0.7.0)](https://github.com/plone/cookieplone) and [cookiecutter-plone (9937161)](https://github.com/plone/cookiecutter-plone/commit/993716123f0616eea9074ae4bd82eb3fcd48c4f1) on 2024-05-28 19:04:49.900739**. A special thanks to all contributors and supporters!