About cmsRS
Many companies that create websites boast about offering their own CMS (content management system). A CMS refers to a webpage that can be configured to suit your preferences and needs. There are also many other systems of this kind available in the form of "open source", which have been developed for years (for example, WordPress, Joomla!).
I have also developed my own Multilingual CMS with an online store 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 (only in the administration area),
- 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),
- for the frontend (user-facing pages), I use Vue.js.
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 238 unit and integration tests, which cover over 90% of the services' code; details can be found in the coverage test. Additionally, the logic (Laravel - see REST API) has been separated from the presentation layer (Vue.js), significantly simplifying application complexity.
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 separation of frontend and backend in the admin panel. 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.
For more information about the installation and configuration process, please visit the GitHub page.