VaahCMS

Introduction

VaahCMS is a web application development platform shipped with headless content management system and common features required in any web application.

Built with laravel framework, vue, vuex, buefy and bulma with HMVC structured Modules & Themes.

The purpose of creating VaahCMS is to create a platform which can be extended in a manageable and structured way to develop large applications without reinventing extremely common functionality every time. A list of functionality are following:

  • Wordpress like installation
  • Extremely fast control/admin panel
  • Extend control/admin panel with no major learning curve
  • Roles & Permissions
  • Install prebuilt modules & themes
  • Modules: Build purpose specific isolated code
  • Themes: Create frontend themes
  • VaahCLI: a CLI tool to generate modules and themes

Requirements

Minimum System Requirements

The Laravel framework has a few system requirements. All of these requirements are satisfied by the Laravel Homesteadopen in new window virtual machine, so it's highly recommended that you use Homestead as your local Laravel development environment.

However, if you are not using Homestead, you will need to make sure your server meets the following requirements:

  • PHP >= 7.4
  • BCMath PHP Extension
  • Ctype PHP Extension
  • JSON PHP Extension
  • Mbstring PHP Extension
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension

Learning Curve

If you want to quickly get started with VaahCMS, all you need to know is Laravelopen in new window. Please go through detailed documentation on Laravel official website.

But if you want to use the true potential of VaahCMS and want to develop enterprise level applications, then you must learn following technologies:

  • Vueopen in new window: Vue.js is an open-source Model–view–viewmodel JavaScript framework for building user interfaces and single-page applications. Far more popular then reactjs, angularjs or emberjs.
  • Vue Routeropen in new window: Vue Router is the official router for Vue.js. It deeply integrates with Vue.js core to make building Single Page Applications with Vue.js a breeze.
  • Vuexopen in new window: Vuex is a state management pattern + library for Vue.js applications. It serves as a centralized store for all the components in an application, with rules ensuring that the state can only be mutated in a predictable fashion.
  • Bulmaopen in new window: Bulma is a free, open source CSS framework based on Flexbox and used by more than 200,000 developers.
  • Buefyopen in new window: Lightweight UI components for Vue.js based on Bulma.

You might ask why we went with Bulma instead of Bootstrap which seems much more popular. Well, that's because Bootstrap require JavaScript library and additional configuration to make it work with VueJs while Bulma is pure CSS framework.

Releases

Versioning Scheme

VaahCMS and its other first-party packages follow Semantic Versioning. Major platform releases are released every 6 to 8 months, while minor and patch releases may be released as often as every month. Minor and patch releases should never contain breaking changes.

The official away to report the bugs is via github repoopen in new window.

Support Policy

For all major releases, bug fixes are provided for 1 years and security fixes are provided for 2 years. These releases provide the longest window of support and maintenance.