|
9 | 9 | <div> |
10 | 10 | <span class="eyebrow">PSR-15 . middleware-first architecture</span> |
11 | 11 | <h1>A headless platform for building modern web applications</h1> |
12 | | - <p class="sub"> Dotkernel is a set of open-source PHP applications — REST API, admin, and queue — that ship assembled on Mezzio and Laminas, over one shared Doctrine domain layer. |
| 12 | + <p class="sub"> Dotkernel is a set of open-source PHP applications — REST API, admin, and queue — that ship assembled on Mezzio and Laminas, over one shared Doctrine domain layer called Core. |
13 | 13 | OAuth2, RBAC, HAL, and a generated OpenAPI spec are wired together on install, not left for you to choose.</p> |
14 | 14 | <div class="hero-ctas"> |
15 | 15 | <a class="btn btn-primary" href="https://docs.dotkernel.org" target="_blank" rel="noopener"> |
|
88 | 88 | <div class="section-head"> |
89 | 89 | <span class="eyebrow">Headless Platform</span> |
90 | 90 | <h2>Three applications, one platform</h2> |
91 | | - <p>API, Admin, and Queue are designed to integrate into a single, unified headless platform - better together than the sum of their parts.</p> |
| 91 | + <p>API, Admin and Queue declare the same <code>Core</code> namespaces — the same entities, repositories and services. |
| 92 | + A <code>User</code> means the same thing to the endpoint that creates it, the admin screen that moderates it and the worker that emails it. |
| 93 | + Three deployables that scale independently and never disagree about the domain.</p></p> |
92 | 94 | </div> |
93 | 95 |
|
| 96 | + <div class="core-band"> |
| 97 | + <span class="core-band-label">Shared domain layer</span> |
| 98 | + <code>Core\App</code> <code>Core\Admin</code> <code>Core\User</code> |
| 99 | + <code>Core\Security</code> <code>Core\Setting</code> |
| 100 | + <p>One set of entities and repositories, integrated into each application as a Git submodule.</p> |
| 101 | + </div> |
| 102 | + |
94 | 103 | <div class="products-grid"> |
95 | 104 |
|
96 | 105 | <div class="card" style="--accent:var(--brand-red)"> |
97 | 106 | <div class="card-top"> |
98 | | - <div><span class="kicker">Skeleton</span><h3>API</h3></div> |
| 107 | + <div><span class="kicker">Deployable . Shares Core</span><h3>API</h3></div> |
99 | 108 | </div> |
100 | 109 | <div class="badges"> |
101 | 110 | <img alt="PHP" src="https://img.shields.io/packagist/dependency-v/dotkernel/api/php?style=flat&label=php"> |
|
114 | 123 |
|
115 | 124 | <div class="card" style="--accent:var(--brand-red)"> |
116 | 125 | <div class="card-top"> |
117 | | - <div><span class="kicker">Skeleton</span><h3>Admin</h3></div> |
| 126 | + <div><span class="kicker">Deployable . Shares Core</span><h3>Admin</h3></div> |
118 | 127 | </div> |
119 | 128 | <div class="badges"> |
120 | 129 | <img alt="PHP" src="https://img.shields.io/packagist/dependency-v/dotkernel/admin/php?style=flat&label=php"> |
|
132 | 141 |
|
133 | 142 | <div class="card" style="--accent:var(--brand-red)"> |
134 | 143 | <div class="card-top"> |
135 | | - <div><span class="kicker">Skeleton</span><h3>Queue</h3></div> |
| 144 | + <div><span class="kicker">Deployable . Shares Core</span><h3>Queue</h3></div> |
136 | 145 | </div> |
137 | 146 | <div class="badges"> |
138 | 147 | <img alt="PHP" src="https://img.shields.io/packagist/php-v/dotkernel/queue?style=flat&label=php"> |
|
0 commit comments