Architecture Overview

LaraOne CMS is built using two modern frameworks Laravel and VueJS and technologies like javascript, php, sass and html.

Main Concepts

LaraOne CMS is built with Laravel and VueJS frameworks. Main concepts to keep in mind when working with LaraOne are:

  • Backend - Built with Laravel, mostly used as API by Admin Panel.
  • Admin Panel - Single Page Application built with VueJS, SASS, Javascript.
  • Components - Components integral part of LaraOne are built with both Laravel Blade & VueJs.
  • Themes - Public facing part that is built with Laravel Blade, Vuejs, Javscript, Sass.

Backend, Admin Panel and Components are part of the same project while each theme released by LaraOne team under MIT license is a separate project with its own repo on Github.

LaraOne CMS repo: https://github.com/laraone/laraone

Components

Components are integral part of LaraOne. The whole CMS is optimized and designed from scratch for component based approach when it comes to authoring content and building awesome websites. Out of the box LaraOne comes with layout and content components. Layout components can be used to create any kind of layouts, while content components like text, image, gallery, video, headline are used for content.

Currently LaraOne comes with a basic set of very necessary components that allow anyone to build amazing designs and websites. New components are easy to implement so many additional components that will utilise third party APIs and services will be added by the team as the project moves forward.

Backend

Backend is a standard Laravel application that serves as API for Admin Panel. It also is used by the public facing frontend usually a theme for rendering of components and content through component rendering engine implemented with laravel blade and php.

CMS is right now up to date with Laravel 6.X, move to Laravel 7.X is planned to happen as soon as packages used by both LaraOne and Laravel are stable on Laravel version 7.X.

Admin

Admin Panel is a single page application built with VueJS and SASS. It's what the end-users and owners of the website use to manage the content and every other part of the CMS and website that is exposed to Admin Panel. Admin panel communicates with the backend using API built for specifically for this purpose.

Themes

Each public facing part of LaraOne CMS is basically a theme. Frontend themes are built using a stack of different technologies and is a collection of files that use some of the following:

  • Laravel Blade
  • VueJs 2
  • SASS
  • HTML
  • Vanilla Javascript.

Default frontend theme for Laraone is Ikigai. Ikigai gets downloaded from GitHub upon installation of the CMS. Ikigai is suitable for all kind of websites, be it blogs, portfolios or company websites.

LaraOne can manage and keep track of many themes. Only one frontend theme can be active at time though. New themes can be installed by drag and drop into themes area of the Admin Panel.

Deafult theme repo: https://github.com/laraone/ikigai