About cmsRS

CmsRS is a next-generation CMS, designed as an alternative to bloated solutions that become difficult to develop and maintain over time. Instead of dozens of plugins and complex dependencies, you get a clean architecture based on proven technologies.

Its architecture is built on a clear separation of concerns: Laravel serves as the server-side API, while Vue.js powers the administrative panel. The frontend layer remains flexible — it can be implemented using Blade or in a headless mode (e.g., with Nuxt).

This separation helps maintain order within the system and makes it easier to develop, test, and adapt to future needs.

This also applies to the database structure, which is simple and straightforward, eliminating another layer of complexity (see: Database Schema). Thanks to solid unit and integration test coverage, as well as the use of PHPStan, even upgrading to newer versions of PHP or Laravel becomes a more predictable and less painful process.

CmsRS offers native support for multiple languages (e.g., English and Polish) and includes a dedicated online shop module. This system is completely free, and you can download the source code from the GitHub page. To explore the capabilities of this system, I recommend checking out the demo version; this website serves as an example of how the system operates. Unlike other websites dedicated to similar needs, this one stands out because the code was written according to specific standards:

  • the frontend has been separated from the backend, with the server providing REST API endpoints (for both the administration area and the front page),
  • on the server side, I use Laravel, and on the frontend, Vue.js and Pinia (in the admin panel) - knowledge of these technologies is sufficient to further develop the system in the future,
  • I have written unit and integration tests for the server-side code (Laravel) and for the administrative panel (Vue.js),
  • I use PHPStan for static code analysis, which significantly improves code quality and reliability,
  • the application's frontend (visible to the end user) is built using Blade templates with Vue.js or using Nuxt.
cmsrs_diagram technolgy
cmsRS architecture: Laravel (backend/API) + Vue.js (administration panel) + flexible frontend layer (Blade or Nuxt)
cmsrs_diagram create shop
cmsRS Admin Process – including CMS and Shop

Advantages of my CMS include:

  • content management (adding and editing content),
  • the ability to add photos and create thumbnails,
  • managing the menu,
  • allowing comments on articles,
  • SEO module enabling configuration for search engines like Google, with elements such as appropriate link choices (different URLs depending on language) and page titles.

The online store module provides the following capabilities:

  • adding products in the admin panel,
  • adding products to the cart on the front page,
  • logging into the customer zone to view basket contents and orders,
  • integration with PayU for payments.

Thanks to my cmsRS, you can create a website relatively simply, even without extensive knowledge of computer programming. To create a website using my CMS (in simplified terms), you need to:

  • create the menu,
  • create a page and link it to the previously created menu; you can also add images and content to this page.

I recommend my system to anyone planning to develop their website in the future. The system is covered with tests, ensuring better code quality and easier future development. I have currently written 271 unit and integration tests, which cover over 90% of the services' code; details can be found in the coverage test. The logic of the administration panel (Laravel API) and its interface (Vue.js) are independent of each other, communicating through documented REST endpoints (see: REST API). Additionally, the use of Nuxt, which also communicates with the backend through the API, simplifies the application logic and increases flexibility in building the frontend layer. This makes the development and maintenance of the application significantly simpler.
The system includes built‑in multilingual support at its core – no need for external, often problematic plugins. If you plan to have a website in multiple languages, it's advisable to make this decision early in the design process, as later changes involve major application modifications. CmsRS is very flexible in this regard; the website can be written in one language, e.g., English, or multiple languages, e.g., English and Polish, as demonstrated on this website. In each case, URLs are appropriately prepared, which is crucial for search engines like Google.

However, if you plan to create an online store, this system is a good starting point. I believe that adding new functionalities or expanding existing code is easier compared to other complex systems, thanks to unit and integration tests, the use of Laravel as the base framework on the server side, and the separation of the frontend from the backend - both in the administrative panel and on the frontend. Additionally, I find that expanding a less complex system is more advantageous than dealing with a highly complex system with numerous plugins. Simplified code is easier to maintain, potentially improving website speed, performance, and reducing developer frustration during future application changes.

However, in my system, to achieve full functionality of the store, it is necessary to consider the features described at: https://github.com/cmsrs/cmsrs3/issues/21. Many of these aspects require collaboration with the client and an analysis of whether they align with business objectives.

For more information about configuring and installing cmsRS, please refer to the documentation.

Install the system, launch the demo, and see for yourself how easy it is to work with.

Before installation, you can also see the system in action. A full series of tutorial videos is available here.