KodePress documentation#
Specification and reference for KodePress, a block-based website CMS on Laravel 11 + MySQL 8.
This is the authoritative description of the system. Implementation follows it phase by phase; where code and these documents diverge, either the code is wrong or an ADR is missing.
Read in this order#
Understand the product 1. Overview — goal, users, scope, non-goals, success criteria 2. Architecture — stack, request lifecycle, folder layout, constraints 3. Database schema — every table, with MySQL 8 DDL
Understand the content model 4. Block system — content JSON, block folder contract, field types 5. Page builder — editor surface, autosave, versions, publish 6. Blog, taxonomy & SEO — posts, categories, tags, sitemap, redirects
Understand the chrome 7. Navigation & mega menu — menus, item types, visibility, mega panels 8. Header & footer — template parts, presets, assignment conditions 9. Theme tokens — tokens, presets, generated CSS
Understand the supporting systems 10. Media & forms — media library, image pipeline, form builder 11. Roles & security — roles, permissions, hardening 12. Internationalisation — bn/en, routing, Bengali typography 13. Caching & performance — HTML cache and invalidation
Build and run it 14. Installation & deployment — local setup, cPanel, cron, git deploy 15. Testing & QA — strategy, per-phase suites, acceptance checklist 16. Roadmap / phases — Phase 0–5 scope and exit criteria 17. Extensibility — new blocks, block packs, plugins, multi-site 18. Glossary — terms
Decisions - ADR index — what was decided, why, and what it rules out
How to use these documents while building#
- A phase prompt names a feature; the document for that feature is the spec. Do not re-derive it.
- Anything that is undecided is marked OPEN with the question and the default being assumed. Resolve an OPEN item by writing an ADR, not by picking silently in code.
- Table and column names in 03-database-schema.md are normative. Migrations match it exactly.
KodePress documentation · generated from the Markdown sources by
tools/build-docs-site.py · internal preview, not indexed.