|
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 collection of open-source application skeletons built on Mezzio and Laminas - pre-configured and ready for anything from a presentation site to an enterprise-grade API.</p> |
| 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. |
| 13 | + OAuth2, RBAC, HAL, and a generated OpenAPI spec are wired together on install, not left for you to choose.</p> |
13 | 14 | <div class="hero-ctas"> |
14 | 15 | <a class="btn btn-primary" href="https://docs.dotkernel.org" target="_blank" rel="noopener"> |
15 | 16 | <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg> |
|
60 | 61 | </div> |
61 | 62 | <div class="traits"> |
62 | 63 | <div class="trait"> |
63 | | - <img class="icon icon-lg" decoding="async" src="{{ asset('images/app/content/traffic-sign-50.svg') }}" alt="Unmatched flexibility" loading="lazy"> |
64 | | - <p>Unmatched flexibility</p> |
| 64 | + <img class="icon icon-lg" decoding="async" src="{{ asset('images/app/content/traffic-sign-50.svg') }}" alt="" loading="lazy"> |
| 65 | + <p>Doctrine, not Active Record</p> |
65 | 66 | </div> |
66 | 67 |
|
67 | 68 | <div class="trait"> |
68 | | - <img class="icon icon-lg" decoding="async" src="{{ asset('images/app/content/success-50.svg') }}" alt="Unlimited scalability" loading="lazy"> |
69 | | - <p>Unlimited scalability</p> |
| 69 | + <img class="icon icon-lg" decoding="async" src="{{ asset('images/app/content/success-50.svg') }}" alt="" loading="lazy"> |
| 70 | + <p>Explicit wiring, no magic</p> |
70 | 71 | </div> |
71 | 72 |
|
72 | 73 | <div class="trait"> |
73 | 74 | <img class="icon icon-lg" decoding="async" src="{{ asset('images/app/content/speed-radar-50.svg') }}" alt="Lightning-fast performance" loading="lazy"> |
74 | | - <p>Lightning-fast performance</p> |
| 75 | + <p>One domain, three deployables<\</p> |
75 | 76 | </div> |
76 | 77 |
|
77 | 78 | <div class="trait"> |
78 | 79 | <img class="icon icon-lg" decoding="async" src="{{ asset('images/app/content/maintenance.svg') }}" alt="Easier maintenance and onboarding" loading="lazy"> |
79 | | - <p>Easier maintenance and onboarding</p> |
| 80 | + <p>Dependencies that move slowly</p> |
80 | 81 | </div> |
81 | 82 | </div> |
82 | 83 | </div> |
|
102 | 103 | <img alt="License" src="https://img.shields.io/github/license/dotkernel/api?style=flat"> |
103 | 104 | <img alt="Stars" src="https://img.shields.io/github/stars/dotkernel/api?style=flat&label=%E2%98%85"> |
104 | 105 | </div> |
105 | | - <p class="desc">An alternative to legacy Laminas API Tools (Apigility). A framework-less, opinionated toolkit for intermediate-to-advanced developers who want to ship REST APIs quickly and efficiently.</p> |
| 106 | + <p class="desc">An alternative to legacy Laminas API Tools (Apigility). REST APIs on a readable PSR-15 middleware pipeline — no kernel, no facades, no runtime magic. |
| 107 | + OAuth2, RBAC and OpenAPI included.</p> |
106 | 108 | <div class="card-btns"> |
107 | 109 | <a class="btn btn-ghost btn-sm" href="https://github.com/dotkernel/api" target="_blank" rel="noopener">GitHub</a> |
108 | 110 | <a class="btn btn-ghost btn-sm" href="https://api.dotkernel.net/" target="_blank" rel="noopener">Demo</a> |
|
194 | 196 | <div class="products-grid"> |
195 | 197 | <div class="card" style="--accent:var(--brand-red)"> |
196 | 198 | <div class="card-top"> |
197 | | - <div><span class="kicker">Skeleton . Didactic</span><h3>Light</h3></div> |
| 199 | + <div><span class="kicker">Standalone . Minimal</span><h3>Light</h3></div> |
198 | 200 | </div> |
199 | 201 | <div class="badges"> |
200 | 202 | <img alt="PHP" src="https://img.shields.io/packagist/php-v/dotkernel/light?style=flat&label=php"> |
201 | 203 | <img alt="Packagist" src="https://img.shields.io/packagist/v/dotkernel/light?style=flat"> |
202 | 204 | <img alt="License" src="https://img.shields.io/github/license/dotkernel/light?style=flat"> |
203 | 205 | <img alt="Stars" src="https://img.shields.io/github/stars/dotkernel/light?style=flat&label=%E2%98%85"> |
204 | 206 | </div> |
205 | | - <p class="desc">A minimal, PSR-15 compliant skeleton built for learning purposes - a simple, didactic example of how to put together a basic website, not a Headless Platform component.</p> |
| 207 | + <p class="desc">The smallest complete Mezzio application — PSR-15 pipeline, routing and templating, nothing to strip out. A real starting point for a simple site, outside the API/Admin/Queue platform.</p> |
206 | 208 | <div class="card-btns"> |
207 | 209 | <a class="btn btn-ghost btn-sm" href="https://github.com/dotkernel/light" target="_blank" rel="noopener">GitHub</a> |
208 | 210 | <a class="btn btn-ghost btn-sm" href="https://light.dotkernel.net/" target="_blank" rel="noopener">Demo</a> |
|
0 commit comments