What's Lavalite

Introduction

Read this section to know about Lavalite and its features

Lavalite is an Open Source Content Management and Application development platform powered by Laravel. It ships with all basic packages like File manager, Themes, Packages, Users, Menus, Roles, Saas etc, to help you in finishing large projects in less time.

Features

Check out some of features that we have in this CMS. To know more about features of Lavalite, continue reading our documentation and check our available packages.


  • RESPONSIVE

    Lavalite works on any device: desktop, tablet or mobile.

  • CUSTOMIZABLE

    Lavalite is built on packages you can easily read, edit, and write your own code, or change everything.

  • Package Builder

    Online package builder helps you on generating all files need for a package, which yu can customize .

  • CLEAN CODE

    Since codes are generated by the package builder it will be easy for your to maintain code on future.

  • DOCUMENTED

    As you can see we provided a comprehensive documentation.

  • FREE UPDATES

    When you purchase this template, or package from our online marketplace you can download and use the updated packages for lifetime.


Unboxing

What's Included

Checkout the files that you'll see upon downloading a package

Once you download the package, you can see a folder with several files and sub folders. You can read description of some important files in continue.

  • Lavalite Package
    • config The config directory, as the name implies, contains all of your Module's configuration files.
      • config.php
    • database The database directory contains your database migration and seeds.
      • migrations
        • 2017_01_01_100001_create_your_table.php
      • seeds
        • YourModuleTableSeeder.php
    • public The public directory contains the assets of your Module.
    • resources The resources directory contains your views and language files.
      • lang
        • en
          • module.php Language file of module
      • resources
        • views
          • admin
            • module
              • partial
                • entry.blade.php
              • create.blade.php
              • edit.blade.php
              • new.blade.php
              • index.blade.php
              • show.blade.php
          • public
            • module
              • aside.blade.php
              • index.blade.php
              • show.blade.php
          • user
            • module
              • partial
                • entry.blade.php
              • create.blade.php
              • edit.blade.php
              • new.blade.php
              • index.blade.php
              • show.blade.php
    • routes The routes directory contains all of the route definitions for your Module.
      • api.php
      • console.php
      • web.php
    • src The src directory, as the name implies, contains all of your Module's main source like serviceprovider,model,and repository etc..
      • facades
        • Module.php Fascade of your Module
      • Http
        • Controllers
          • ModuleResourceController.php
          • ModulePublicController.php
        • Request
          • ModuleRequest.php
      • Interfaces The Interfaces directory contains all of the repository interfaces of your Module.
        • ModuleRepositoryInterface.php
      • Models The Models directory contains model of your Module.
        • ModuleName.php
      • Policies The Policies directory contains request policies of your Module.
        • ModulePolicy.php
      • Providers The Providers directory contains providers
        • AuthServiceProvider.php
        • EventServiceProvider.php
        • ModuleServiceProvider.php
        • RouteServiceProvider.php
        • WorkflowServiceProvider.php
      • Repositories The Repositories directory contains Repositories of your Module.
        • Criteria
          • ModulePublicCriteria.php
          • ModuleUserCriteria.php
        • Eloquent
          • ModuleRepository.php
        • Presenter
          • ModuleItemPresenter.php
          • ModuleItemTransformer.php
          • ModuleListPreseneter.php
          • ModuleListTransformer.php
      • Workflow The Workflow directory contains Workflow of your Module.
        • ModuleAction.php
        • ModuleNotification.php
        • ModuleValidator.php
      • Module.php Fascade of your Module
    • tests The tests directory contains your automated tests
    • composer.json This file contains your Module information
Better understanding

Starter Templates

Lavalite is shipped with 4 basic templates, Admin, User, Client and Public

For a better understanding we can examin public theme all the themes have the folder structure as shown below.

  • theme Theme root folder.
    • assets This folder conatins all the assets for the theme
      • css
      • images
      • dist Folder for the compiled assets.
      • js
        • app.js
        • bootstrap.js
        • main.js
      • sass
        • app.scss
        • _variable.scss
    • layouts Folder for the theme layots.
    • partials Folder for the theme partials like header, aside etc.
    • views View folder for the theme.
      • auth Folder for login register blades.
        • email
      • user
      • vendor Published views.

Let's examin a layout default.blade.php to know more about it.


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>{!! Theme::getTitle() !!} :: {{trans('app.name')}}</title>
        <meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
        <meta name="csrf-token" content="{{ csrf_token() }}">
        <link href="https://fonts.googleapis.com/css?family=Open+Sans:400,300'" rel='stylesheet' type='text/css'>
        {!! Theme::asset()->styles() !!}
        {!! Theme::asset()->scripts() !!}
    </head>

    <body class="sidebar-mini  skin-{{Settings::get('admin.color', 'red')}}" >
        <div class="wrapper">
            {!! Theme::partial('header') !!}
            {!! Theme::partial('aside') !!}
            {!! Theme::content() !!}
            {!! Theme::partial('right') !!}
            {!! Theme::partial('footer') !!}
        </div>
    </body>
    {!! Theme::asset()->container('footer')->scripts() !!}
</html>

Get hands dirty

Quick start

Now it's time to start editing some lines of code

Start your projects by installing the lavalite to your system.

  • Install Lavalite

    Install the basic software needed to run a Laravel projects and execute the code composer create-project LavaLite/cms --prefer-dist website to install Lavalite to your system.

  • Create packages

    Using the online package builder you can build the packages required to develop your website or application.

  • Customize the Theme

    Lavalite provides 4 basic themes that you can use it for free. You can buy or download more themes form the online marketplace.

  • Deploy

    Once everything finished you can deploy the application on any server you preference