cmsrs / cmsrs3
CMS, gallery, and shop based on Laravel and Vue.js
Requires
- php: ^8.2.0
- guzzlehttp/guzzle: ^7.8
- intervention/image-laravel: ^1.2
- laravel/fortify: ^1.25
- laravel/framework: ^13.0
- laravel/tinker: ^3.0
- php-open-source-saver/jwt-auth: ^2.2
Requires (Dev)
- barryvdh/laravel-ide-helper: ^3.7
- fakerphp/faker: ^1.23
- fruitcake/laravel-debugbar: ^4.4
- larastan/larastan: ^3.9
- laravel/pint: ^1.18
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.1
- phpunit/php-code-coverage: ^12.0
- phpunit/phpunit: ^12.0
- spatie/laravel-ignition: ^2.4
This package is auto-updated.
Last update: 2026-07-09 12:47:29 UTC
README
Modern CMS for websites and galleries, and even stores, without the chaos.
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. It is released as open-source software under the MIT License.
๐ค Why cmsRS?
Unlike traditional CMS platforms:
- Clear separation of concerns: Laravel backend/API, Vue.js administration panel, and flexible frontend layer
- Laravel-based API backend with Vue.js administration panel
- Flexible frontend approach: Blade-based rendering or headless frontend via REST API
- Predictable updates supported by automated testing
- Developer-friendly architecture based on modern standards
- Clean and logical database structure
โจ Features
- โก Modern Laravel API + Vue.js/Nuxt architecture
- ๐ Multi-language support
- ๐ Content management system for pages and custom content
- ๐งญ Flexible menu and navigation management
- ๐ผ๏ธ Gallery system
- ๐ Product catalog management
- ๐ User authentication and access management
- ๐งช 90% test coverage
- ๐ง Clean and predictable architecture
cmsRS architecture: Laravel (backend/API) + Vue.js (administration panel) + flexible frontend layer (Blade or Nuxt)
- (1) GitHub โ cmsrs3 (Laravel) - Serwer
- (2) GitHub โ cmsrs3-vuejs - Admin Panel
- (3) GitHub โ cmsrs3-nuxt - Frontend Nuxt
REQUIRED PACKAGES
php-cli โ PHP command-line interface
php-dom and php-xml โ for XML parsing (used in layouts and configs)
php-curl โ for HTTP requests
php-mysql โ for MySQL database connection
php-mbstring โ for multibyte string support (required by PHPUnit and some packages)
php-gd โ for image processing (used in gallery, sliders, etc.)
Make sure all extensions match your installed PHP version (e.g., php8.5-mysql, php8.5-mbstring, etc.)
INSTALLATION
Before running the script, make sure you have configured the database connection (host, database name, username, password, and port).
Run the following command to create the project:
composer create-project cmsrs/cmsrs3
cd cmsrs3
php artisan cmsrs:install
php artisan serve
Once the server is running, open your browser and navigate to:
http://127.0.0.1:8000
RUN TESTS (RECOMMENDED)
- Prepare .env.testing file, and change db connection (DB_DATABASE should be different than the one in the .env file):
cp .env .env.testing
- run tests:
./vendor/bin/phpunit
MANAGEMENT
-
Go to the website http://127.0.0.1:8000/admin/
log in as:
username: adm@cmsrs.pl
default password: cmsrs123
-
Create main page (page type: main_page)
-
Add menu
-
Add pages
CLI COMMANDS
- Create sitemap (it is recommended to put this command in the crontab file):
php artisan cmsrs:create-site-map
- Create client user or edit password for user:
php artisan cmsrs:create-client {user} {password}
- Change admin password:
php artisan cmsrs:change-admin-pass {new-password}
DEMO - Frontend
DEMO - Admin Panel
http://demo.cmsrs.pl/admin-demo
MORE INFORMATION
https://www.cmsrs.pl/en/cms/cmsrs/about-cmsrs
REPORTING ISSUES AND SUGGESTIONS
If you notice any problems or have ideas to improve the project, please use the Issues section to let me know. If you like it, give it a star! Your support motivates me to keep improving the project. Thank you! :)
CONTRIBUTING
Contributions are welcome!
Feel free to open issues or submit pull requests.
LICENSE
This project is licensed under the MIT License.