- See the Laravel server requirements.
- Laravel Enso uses the
json
data type.- If using MySQL, a minimum version of 5.7.8 is required.
- If using MariaDB, a minimum version of 10.2.7 is required.
-
Download the project with
git clone https://github.com/laravel-enso/enso.git --depth 1
-
Within the project folder run
composer install
-
Create a database for your site (see the Laravel database documentation), copy or rename the
.env.example
file to.env
, edit the database configuration information, and runphp artisan key:generate
-
In order to serve the back-end API, take a look at the Local Development Server section of the Laravel installation documentation and consider using Valet for a better experience
Important: once you're chosen your app's name and set the
APP_URL
in your.env
file, make sure you also add the domain to the list of domains in theSANCTUM_STATEFUL_DOMAINS
. For example:... APP_URL=http://enso.test ... SANCTUM_STATEFUL_DOMAINS=localhost,127.0.0.1,127.0.0.1:8000,localhost:8080,::1,enso.test
-
Run
php artisan migrate --seed
-
Open the
client
folder, copy the.env.example
file, save it as.env
and set the URL for the back-end API (which you've configured at step 4) -
Run
yarn && yarn build
-
Launch the site and log into the project with user:
admin@laravel-enso.com
, password:password
-
For live reload / hot module replacement functionality run
client/yarn serve
- Setup the configuration files as needed in
config/enso/*.php
- You may remove the following files from the cloned repository:
.styleci.yml
.travis.yml
docker-compose.yml
(if not using Docker)
Enjoy!
Laravel Enso comes with a simple docker environment to help with development.
By default, it has two containers, the enso container and the enso-mysql container.
There is also an optional phpmyadmin container that can be used by removing the commented
lines in docker-compose.yml
.
- The enso container runs the apache webserver and has
yarn
&composer
installed. - The enso-mysql container handle's the database the default user is
root
with a blank password and the default database isenso
- The enso-phpmyadmin container is optional and attaches a phpMyAdmin instance the the enso-mysql database.
- Rename .env.example to .env and fill out the appropriate variables.
- Run
docker-compose up
to start the containers. To daemonize the process rundocker-compose up --build -d
. - Enter into the enso container to begin the enso installation with
docker exec -it enso bash
- Install laravel enso following the guide.
- When you run
php artisan migrate --seed
, you may hit an error in the formSQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
. If so:- See this post for details on how to address the error.
- After addressing the error, drop all tables from your site database (or delete and recreate the database), then run
php artisan migrate --seed
again.
A solid starting project, based on Laravel 6, VueJS 2 (the build is done with VueCli, Bulma, integrated themes from Bulmaswatch, all the VueJS goodies such as VueEx and VueRouter, with features like:
-
Structure generator - powerful CLI that allows easy creation of new complex structures, generating all the needed files:
- system files for:
- structure migration that adds menus and permissions and permission groups
- front-end routes & CRUD pages
- back-end routes
- boilerplate files for:
- models and table migrations
- form controller, builder and template
- table controller, builder and template
- select controller
- request validator
- system files for:
-
Customizable and powerful datatables:
- JSON templates
- server side
- multi-argument full column search
- customizable column visibility
- state save in localStorage for each table
- automatic action buttons generation, depending on user permissions
- custom action buttons as needed
- beautiful tag rendering for boolean flag columns
- easy display of flag/type columns values
- server-side excel export for every table
-
- JSON templates
- server side
- validation
- customizable
-
Vue select - server side builder with parameter conditioning, including pivot parameters
-
Advanced user groups / roles / permissions structure
-
Log management - view, download, clear
-
User action logger, so you can keep track of who's done what
-
User impersonation for easy support and debugging
-
Application interface tutorials based on the awesome Intro.js
-
Charts component with server side data builder, based on Chart.js
-
Comments component with support for tagging users
-
Documents component with upload, download and inline view
-
Ability to track who created, updated and deleted models, using traits
-
File uploader and file management library
-
Avatar functionality for all users
-
Ability to track the different versions of a model through its lifetime
-
Front-end date-picker and time-picker, based on Flatpickr
-
Server-side type-ahead
-
User, application-wide preferences - every user has the ability to choose his theme (from 10 variants), set the menu style, app language and more
-
Queueable jobs
-
Push notifications - working out of the box (requires Pusher)
-
Beautiful email notifications, that can published and customized to your heart's desire
-
Automatic breadcrumbs generation
-
Application-wide timestamp formatting customization through the configuration file
-
Separate front-end state support, so that it's easier to keep your application's logic and data separated from enso's
-
Optimistic concurrency control with versioning, via the Versioning and Versions the packages
-
many more helpers and hidden gems
::: tip Recommended If you are using this project please consult the Changelog on every update. :::