Skip to main content

Core Concepts

ReactPress is a publishing platform, not a Headless CMS alone. Understanding each component helps you choose the right approach and extend the system.

One-line definition​

Admin manages content · Theme manages presentation · Plugin manages logic · API manages data · Toolkit manages contracts

Five components​

ComponentTechnologyPortResponsibility
AdminReact + Vite SPA3001 /admin/Write posts, manage media, install themes/plugins, site settings (Monorepo dev may use :3000)
APINestJS3002Persistence, auth, Hooks, Headless REST
ThemeNext.js SSR/ISR3001Visitor-facing site (fully replaceable)
PluginNode module + Hook—Server-side logic (SEO, summaries, image optimization, etc.)
DesktopElectron—Offline writing, SQLite local mode, sync to remote

Mapping to WordPress​

WordPressReactPressNotes
wp-adminAdmin (:3001/admin/)Content management UI
Themethemes/* (:3001)Visitor frontend, installable via npm
Pluginplugins/*Hook extensions without modifying themes
REST API/api/*Headless enabled by default
—DesktopLocal-first writing (no WordPress equivalent)

Data flow​

  1. Authors create posts in Admin or Desktop
  2. Requests reach API via the Toolkit SDK
  3. Plugins transform summaries, SEO fields, etc. at Hook points
  4. Data is written to SQLite / MySQL
  5. Theme fetches content via API and SSR-renders for visitors

Architecture rules​

  • Admin does not serve visitor pages; themes do not include Admin routes
  • All frontends (Admin, theme, plugin UI) access API only through Toolkit
  • Server does not depend on any frontend package

See Architecture overview.

Directories and runtime​

my-site/
├── .reactpress/
│ ├── config.json # config source (ports, database, URLs)
│ ├── runtime/{theme-id}/ # installed themes
│ ├── plugins/{plugin-id}/ # installed plugins
│ └── reactpress.db # SQLite (default)
├── .env # auto-generated by CLI — do not edit by hand
└── uploads/ # media upload directory

Two user paths​

PathForEntry
End userBuild sites, blognpm i -g @fecommunity/reactpress → init
ContributorCore, themes, pluginsclone monorepo → pnpm dev