PHPackages                             lucatacconi/silly-vue-scaffolding - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. lucatacconi/silly-vue-scaffolding

ActiveProject[Authentication &amp; Authorization](/categories/authentication)

lucatacconi/silly-vue-scaffolding
=================================

Silly-vue-scaffolding is an easy way to release modular Vue/Vuetify applications, composed of several Vue files, loaded but not compiled. Silly-vue-scaffolding includes an API engine based on Slim e protected by JWT. Includes also a login system end a dynamic menu shown based on user grant levels.

v2.0.0(5y ago)4161[1 issues](https://github.com/lucatacconi/silly-vue-scaffolding/issues)MITVue

Since Aug 20Pushed 1y ago2 watchersCompare

[ Source](https://github.com/lucatacconi/silly-vue-scaffolding)[ Packagist](https://packagist.org/packages/lucatacconi/silly-vue-scaffolding)[ Docs](http://www.monolite.net)[ RSS](/packages/lucatacconi-silly-vue-scaffolding/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (14)Versions (10)Used By (0)

silly-vue-scaffolding
=====================

[](#silly-vue-scaffolding)

[![Latest Stable Version](https://camo.githubusercontent.com/6f2db9dda8b2a22e3420fb86b94f7267b0090688c6863d3f3f7de71ff14aa4d0/68747470733a2f2f706f7365722e707567782e6f72672f6c756361746163636f6e692f73696c6c792d7675652d73636166666f6c64696e672f762f737461626c65)](https://packagist.org/packages/lucatacconi/silly-vue-scaffolding)[![Total Downloads](https://camo.githubusercontent.com/eaa2675e3cb33b8bb03886b40e5165b3fabf8f40e45512c2d377e2dd7eaa4557/68747470733a2f2f706f7365722e707567782e6f72672f6c756361746163636f6e692f73696c6c792d7675652d73636166666f6c64696e672f646f776e6c6f616473)](https://packagist.org/packages/lucatacconi/silly-vue-scaffolding)[![Latest Unstable Version](https://camo.githubusercontent.com/792a3c375b77193870eb05e92dccf1ad2f15310f973f4b91d3087a4736634711/68747470733a2f2f706f7365722e707567782e6f72672f6c756361746163636f6e692f73696c6c792d7675652d73636166666f6c64696e672f762f756e737461626c65)](https://packagist.org/packages/lucatacconi/silly-vue-scaffolding)[![License](https://camo.githubusercontent.com/3a0c22f0abb2391a71dd648b84a7904a9786af5e3c3e398fcb915862245f5b0a/68747470733a2f2f706f7365722e707567782e6f72672f6c756361746163636f6e692f73696c6c792d7675652d73636166666f6c64696e672f6c6963656e7365)](https://packagist.org/packages/lucatacconi/silly-vue-scaffolding)

[![silly-vue-scaffolding](https://user-images.githubusercontent.com/9921890/94295629-ccbbed00-ff61-11ea-93e7-3f2255c5c344.png)](https://user-images.githubusercontent.com/9921890/94295629-ccbbed00-ff61-11ea-93e7-3f2255c5c344.png)

Vue/Vuetify, combined with systems such as Webpack, Browserify or Vue-cli becomes an extremely easy and versatile development tool.

Compiling all Vue files in a single file, even if useful for a more rapid execution of the application, sometimes becomes a brake for debugging, analysis of functioning on production servers or last minute changes.

**Silly-vue-scaffolding** is an easy way to release modular **Vue/Vuetify** applications, thus composed of several Vue files. Vue components are loaded but not compiled and made available using the [FranckFreiburger/http-vue-loader](https://github.com/FranckFreiburger/http-vue-loader) library.

Natively **Silly-vue-scaffolding** includes an API section based on **Slim** and protected by **JWT** ([tuupola/slim-jwt-auth](https://github.com/tuupola/slim-jwt-auth)).

A login page allows users to access to application's main area whose frontend is based on **Vuetify**.

The application menu is managed dynamically created, based on a specific configuration file that identifies items and filtered them based on the user's access level. The content of the main application area is managed via **Vue Router**.

Specific configuration files make it possible to easily configure all running parameters of the application.

The custom sections can be added to the sections directory and recalled via an entry in the specific configuration file that identifies the sections that can be recalled in the main menu.

Read specific sections of this document to install and configure the application.

System Requirements
-------------------

[](#system-requirements)

- Web server with URL rewriting
- PHP 7.1.3 or newer
- Composer

Installation and application setup
----------------------------------

[](#installation-and-application-setup)

It's recommended that you use [Composer](https://getcomposer.org/) to install Silly-vue-scaffolding.

Access the **Document Root** folder on your **Apache Server** or one of the configured virtual hosts and run the following command:

```
bash
$ composer create-project lucatacconi/silly-vue-scaffolding

```

Configure the main application information and environment by editing /config/application.json and .env file

In any case it is possible to download the complete package from Github and proceed with the configuration of the appropriate files.

First Login
-----------

[](#first-login)

The application is preconfigured with a single access user to verify the login procedure and access the dashboard and the main menu.

To test access use the login **admin** and password **password**

Accounts configuration
----------------------

[](#accounts-configuration)

All users enabled to access the application are configured in the configuration file /config/accounts.json.

The accounts.json configuration file has the following format:

```
[
    {
        "username":"admin",
        "name":"Admin User",
        "userType":"admin",
        "email":"admin@nomail.com",
        "password":"password",
        "active":"Y",
        "expireDate":"2020-10-10",
        "customSessionDuration":""
    },
    {
        "username":"j.doe",
        "name":"Jhon Doe",
        "userType":"user",
        "email":"j.doe@nomail.com",
        "password":"password",
        "active":"Y",
        "expireDate":"2020-10-10",
        "customSessionDuration":""
    },
    ...
]

```

Among the various information listed, the type of user is also induced, information that is then used to filter the menu items enabled for the user.

For simplicity's choice the access configurations have been inserted in a file. However, nothing prevents the implementation of user management based on database reading.

Menu configuration
------------------

[](#menu-configuration)

All menu items shown in the main menu are configured in the configuration file /config/navigation.json.

The navigation.json configuration file contains two configuration items: the first element configures the bootstrap page (bootstrapPage), the second element configures the map of menu items (navigationMap).

**bootstrapPage** configures the first page that will be shown following a successful login:

```
    "bootstrapPage":{
        "route": "/dashboard",
        "title": "Dashboard"
    }

```

**route** represents the route of one of the elements configured in the navigation map, **title** represents the title that will be shown in the application's NavBar:

**navigationMap** contains all the elements that are shown in the main menu. It can contain three types of elements: the main menu element, the submenu element which in turn contains menu elements and the divider that represents a graphic subdivision within the mneu represented by a line. Each individual element can then be configured with different properties that set its behavior, display and layout.

The format for the single menu element is as follows:

```
    {
        "title": "Dashboard",
        "subtitle": "App main page",
        "allowed":[],
        "visible": true,

        # if you want to point to an internal section

        "action":{
            "path": "/dashboard",
            "component": "../../app/sections/dashboard/Dashboard.vue"
        },

        # if you want to call a javascript function

        "action": "alert('Hello world 1')",

        # if you want to call an external web page

        "action":{
            "url": "https://github.com/lucatacconi/silly-vue-scaffolding",
            "target": "_blank"
        },

        "action":{
            "url": "https://github.com/lucatacconi/silly-vue-scaffolding",
            "target": "_self"
        },

        "layout":{
            "icon":"mdi-view-dashboard-variant",
            "disabled": false,
            "color": false,
            "class": false
        }
    }

```

The format for the divider element is as follows:

```
    {
        "divider": true,
        "visible": true
    }

```

The format for the submenu element is as follows. Within the subMenuItems section the elements must be inserted as shown in the previous examples.

```
    {
        "title": "App1",
        "subtitle": "Example app1"
        "allowed": ["admin"],
        "visible": true,
        "layout": {
            "icon": "mdi-menu",
            "expanded": true,
            "disabled": false,
            "color": false,
            "class": false
        },
        "subMenuItems":[
            ...
        ]
    }

```

Credits
-------

[](#credits)

- [Luca Tacconi](https://github.com/lucatacconi)
- [Emanuele Marchesotti](https://github.com/flagellarmirror)

License
-------

[](#license)

Silly Vue Scaffolding is licensed under the MIT license. See [License File](LICENSE.md) for more information.

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 84.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~175 days

Total

4

Last Release

1931d ago

Major Versions

v1.0.2 → v2.0.02021-01-27

### Community

Maintainers

![](https://www.gravatar.com/avatar/1aa37ee4efeef5e6b92ebe7584f9b625a89eddf863076472e9560017cedb26e7?d=identicon)[lucatacconi](/maintainers/lucatacconi)

---

Top Contributors

[![lucatacconi](https://avatars.githubusercontent.com/u/9921890?v=4)](https://github.com/lucatacconi "lucatacconi (83 commits)")[![flagellarmirror](https://avatars.githubusercontent.com/u/10573280?v=4)](https://github.com/flagellarmirror "flagellarmirror (11 commits)")[![emanuelemarchesotti](https://avatars.githubusercontent.com/u/64829707?v=4)](https://github.com/emanuelemarchesotti "emanuelemarchesotti (4 commits)")

---

Tags

jwt-authenticationphpslim3vuevuetifyjwtapiroutervueslim4vuetifyHttp-vue-loaderProtected areaLogin systemMenu tool

### Embed Badge

![Health badge](/badges/lucatacconi-silly-vue-scaffolding/health.svg)

```
[![Health](https://phpackages.com/badges/lucatacconi-silly-vue-scaffolding/health.svg)](https://phpackages.com/packages/lucatacconi-silly-vue-scaffolding)
```

###  Alternatives

[lucatacconi/crunz-ui

User interface for lavary/crunz. Integrate Crunz library and funtions: Tabular, monthly or weekly interface to view the scheduled and executed tasks. Quick display of the execution result of the tasks that have been executed (Indicator icons easily show the result). Upload, download, edit or delete tasks. Forced run of the task, even outside the scheduled time with eventual display of the log once the execution is completed. It can be used with integrated Crunz or with a version of Crunz already installed on the system

161.5k](/packages/lucatacconi-crunz-ui)[bacula-web/bacula-web

The open source web based reporting and monitoring tool for Bacula

1537.5k](/packages/bacula-web-bacula-web)[forme/framework

An MVC framework for WordPress.

175.0k3](/packages/forme-framework)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
