Skip to main content

Introduction

Introduction

ReactPress is an open-source publishing platform built with React. Users can run blogs and websites on servers with React and MySQL, or use it as a CMS.

ReactPress 3.0 ships as a single global package: npm i -g @fecommunity/reactpress@3, then reactpress init and reactpress dev in any empty folder. See ReactPress 3.0 Platform.

🆚 Comparison

Comparison of ReactPress, WordPress, and VuePress

FeatureReactPressWordPressVuePress
Technology StackReact + NextJS + MySQL + NestJSPHP + MySQLVue.js
TypeOpen-source publishing platform / CMSOpen-source publishing platform / CMSStatic site generator / Documentation tool
Front-end & Back-end SeparationSupportedNot supported (traditional approach)Supported
Component-based DevelopmentSupportedLimited support (via plugins and themes)Supported
Performance OptimizationVirtual DOM, Code Splitting, Lazy LoadingPlugin-dependent optimizationStatic page generation, excellent performance
SEO PerformanceExcellent (SSR support)GoodOutstanding (static pages)
CustomizabilityHigh (fully customizable themes and styles)High (via plugins and themes)Moderate (theme and component customization)
ExtensibilityStrong (API interfaces, independent front-end and back-end extensions)Strong (plugin extensions)Moderate (plugin and theme extensions)
User InterfaceModern, component-based design based on ReactUser-friendly backend interfaceMinimalist, optimized for technical documentation
SecurityDepends on the security of the framework and databaseDepends on plugin and theme updates and maintenanceStatic site, high security
Application ScenariosComplex functionality, high concurrent access, SEO optimization needsQuick website setup, content publishing, and managementTechnical documentation, static blogs
User GroupsDevelopers, technical teams,Personal blogs,small businessesPersonal blogs, small businesses, startupsTechnical documentation writers, developers
Community SupportActive and growingVery active, with a large user baseSupported by the Vue.js community

✨ Features

  • 📦 Technology Stack: Built on React+MySQL+NestJS+NextJS
  • 🌈 Componentization: an interactive language and visual style based on antd
  • 🌍 Internationalization: Supports switching between Chinese and English, with international configuration management capabilities
  • 🌞 Black and White Theme: Supports free switching between light and dark mode themes
  • 🖌️ Creation Management: Built in 'MarkDown' editor, supporting article writing, category and directory management, and tag management
  • 📃 Page management: supports customizing new pages
  • 💬 Comment management: supports content comment management
  • 📷 Media Management: Supports local file upload and OSS file upload
  • ...

🔥 Live Demo

ReactPress Demo

⌨️ Development

Environment

$ git clone --depth=1 https://github.com/fecommunity/reactpress.git
$ cd reactpress
$ npm i -g pnpm
$ pnpm i

Configuration

After the project starts, the .env configuration file in the root directory will be loaded. Please ensure that the MySQL database service is consistent with the following configuration, and create the reactpress database in advance

DB_HOST=127.0.0.1 // Default Database Host
DB_PORT=3306 // Default Database Port
DB_USER=reactpress // Default Username
DB_PASSWD=reactpress // Default Password
DB_DATABASE=reactpress // Default Database Name

After the environment is ready, execute the startup shell:

$ pnpm run dev

Open your browser and visit http://127.0.0.1:3001

📦 NPM Packages

ReactPress 2.0 provides three core NPM packages that can be used independently or in combination:

Each package has detailed documentation that can be found in the advanced tutorials.

👥 Contributing

We warmly invite contributions from everyone. Before you get started, please take a moment to review our Contributing Guide. Feel free to share your ideas through Pull Requests or GitHub Issues. If you're interested in enhancing our codebase, explore the Development Instructions and enjoy your coding journey!

  1. GitHub Discussions
  2. Stack Overflow(English)
  3. Segment Fault(Chinese)

You can also send me an email: admin@gaoredu.com

❤️ Acknowledgments

The ReactPress project has been greatly inspired and assisted by the following open-source projects:

……

We extend our heartfelt gratitude to the authors and contributors of these projects!

✨ Star History

Star History Chart