Skip to content
GixxPublic

About

WebHemi is an educational, production-minded dual-engine CMS. The core idea: keep one design system as the visual source of truth, while two backend stacks can render it — a PHP-first path and a JavaScript-first path.

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

WebHemi

WebHemi is an educational, production-minded dual-engine CMS. The core idea: keep one design system as the visual source of truth, while two backend stacks can render it — a PHP-first path and a JavaScript-first path.

This repository is the hub (meta-repo). The runnable code lives in three Git submodules side by side.

Software License


What we are building

A multi-repository platform where:

  1. webhemi-ui — React components developed and reviewed in Storybook, published as @webhemi/ui (NPM).
  2. webhemi-php — WebHemi.PHP: Symfony + Twig shell, React admin via AssetMapper/importmap. No Node.js required in production.
  3. webhemi-js — WebHemi.JS (later phase): Next.js + Payload CMS, consuming the same @webhemi/ui package.
                    +---------------------------+
                    |   webhemi-ui (Storybook)  |
                    |   @webhemi/ui on NPM      |
                    +---------------------------+
                                  |
              +-------------------+-------------------+
              |                                       |
              v                                       v
    +-------------------+                 +-------------------+
    |   webhemi-php     |                 |   webhemi-js      |
    |   Symfony CMS     |                 |   Next + Payload  |
    |   zero-Node prod  |                 |   (phase 3)       |
    +-------------------+                 +-------------------+

Platform capabilities (both engines)

Capability Description
Multi-tenant Sites as tenants; users, roles, and assignments scoped per site where needed
Multi-domain Multiple hostnames per site; request host drives routing context
Surfaces admin, site, and api — same host model, different entry points
RBAC Roles and permission strings (e.g. site.list, host.verify)
Host ownership File probe: pending → verified → assign to site; Status = Enabled/Disabled (plan); local app:seed skips probe

The legacy Symfony monolith (Twig admin, inline CSS) is retired. Admin UI comes only from @webhemi/ui.


Repository layout (this hub)

Path Repository Role
webhemi-ui/ Gixx/webhemi-ui Design system + Storybook
webhemi-php/ Gixx/webhemi-php Symfony CMS engine
webhemi-js/ Gixx/webhemi-js Next + Payload (outline only for now)

Architecture detail: docs/plan/WebHemi_Architecture_and_Roadmap.md · Where we are: docs/plan/CURRENT.md


Quick start

Clone with submodules

git clone --recurse-submodules git@github.com:Gixx/WebHemi.git
cd WebHemi

If you already cloned without submodules:

git submodule update --init --recursive

One-command local stack

# once: install deps + seed PHP (see webhemi-php/README.md)
make up       # Storybook + UI watch→sync + Symfony
make status
make down
make test php # PHPUnit
make test ui  # typecheck, lint, Storybook Vitest, Chromatic
URL Purpose
http://127.0.0.1:6006 Storybook
https://127.0.0.1:8000/admin/login Admin login (path / IP)
https://admin.webhemi.local:8000/login Admin login (domain mode)
https://www.webhemi.local:8000/login Frontend (site) login stub
https://www.webhemi.local:8000/ Site JSON stub (by design)

Custom hosts and certificate: docs/local-dev.md. First time: make cert (or symfony server:ca:install then make cert).

UI / PHP / JS separately


Legacy monolith

The previous single-repo Symfony application is preserved in Git history:

  • Tag: archive/pre-hub-monolith
  • A local copy may exist in .old/ (gitignored) for quick reference on your machine

Do not treat .old/ as the source of truth — use the tag or submodule repos.


Documentation

Document Description
Current progress Start here — done vs next phases (renumbered)
Local development make up / hosts / Makefile vs DDEV
Architecture & roadmap Multi-repo design (long-horizon)
Frontend sites & themes Multi-site public stack + swappable themes (Phase 9 / 14)
Admin98 product integration Historical phase narrative 0–7
webhemi-php README PHP setup, sync-ui, QA
webhemi-ui README Storybook and library build
Host ownership probe (PHP) File probe mechanics

Other docs/plan/* files are detail / ADR notes; status lives in CURRENT.md.


License

MIT — see LICENSE.

About

WebHemi is an educational, production-minded dual-engine CMS. The core idea: keep one design system as the visual source of truth, while two backend stacks can render it — a PHP-first path and a JavaScript-first path.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages