PHPackages                             a1tem/knowledge-base - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. a1tem/knowledge-base

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

a1tem/knowledge-base
====================

Knowledge base management system

1652[1 issues](https://github.com/a1tem/knowledge-base/issues)[7 PRs](https://github.com/a1tem/knowledge-base/pulls)PHP

Since May 23Pushed 3y ago1 watchersCompare

[ Source](https://github.com/a1tem/knowledge-base)[ Packagist](https://packagist.org/packages/a1tem/knowledge-base)[ RSS](/packages/a1tem-knowledge-base/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependenciesVersions (8)Used By (0)

KnowledgeBase
=============

[](#knowledgebase)

[![Latest Version on Packagist](https://camo.githubusercontent.com/1666c8c4b73e9fb742cdb44d0c88754aa879851d31a5522625ea35c9727cf6e4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f613174656d2f6b6e6f776c656467652d626173652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/a1tem/knowledge-base)[![Total Downloads](https://camo.githubusercontent.com/15f7ff35a02a3229a2d755b4f2211411d992a25709cad43f016259dd40ae0d88/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f613174656d2f6b6e6f776c656467652d626173652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/a1tem/knowledge-base)

Knowledge base management system.
---------------------------------

[](#knowledge-base-management-system)

It's a laravel package that allows you to install the knowledge base management system into your site:

#### Key features

[](#key-features)

- Categories
- Categories can have additional fields (text, textarea, number, select, date, checkbox)
- When user creates the article, he should also fill all the additional fields that belong to the category
- Search by article title and content and also by additional fields
- Validation on additional fields
- Pagination
- Fully customizable as you have access to all the Vue components

Demo
----

[](#demo)

#### Articles

[](#articles)

[![Articles](docs/articles.gif)](docs/articles.gif)

#### Categories

[](#categories)

[![Categories](docs/categories.gif)](docs/categories.gif)

Installation
------------

[](#installation)

Via Composer

```
$ composer require a1tem/knowledge-base
$ php artisan migrate
```

```
$ npm add babel-plugin-syntax-dynamic-import babel-plugin-syntax-jsx babel-plugin-transform-vue-jsx eslint eslint-loader eslint-plugin-vue laravel-mix-eslint vue-template-compiler --save-dev
$ npm add element-ui axios vue2-editor
$ npm install
```

Passport installation
---------------------

[](#passport-installation)

We use Passport in order to perform the API calls, if you already use passport, just skip this part.

The full installation process can be found in the [Passport Docs](https://laravel.com/docs/7.x/passport#installation)

After that just add to the **Http/Middleware/EncryptCookies.php** file:

```
protected static $serialize = true;
```

And add to the $except array **'knowledge-base/'** of the Http/Middleware/VerifyCsrfToken.php file:

```
    protected $except = [
        'knowledge-base/*'
    ];
```

Add this to your main blade file or to the views/layout/app.blade.php if it's not included yet.

```

```

Usage
-----

[](#usage)

First of all we should publish all the package assets, to do so run this command in the console

```
$ artisan vendor:publish --provider="A1tem\KnowledgeBase\KnowledgeBaseServiceProvider"
```

The published components will be placed in your resources/js directory. Once the components have been published, you should register them in your resources/js/app.js file somewhere at the top section add:

```
require('./knowledge-base/knowledge-base');
```

After that run:

```
$ npm run dev
```

Use it with blade files
-----------------------

[](#use-it-with-blade-files)

By default the module will work in NON\_SPA mode, it means that you can use it directly by typing the url address:

- To view all categories

**/knowledge-base/view/categories**

- To view all articles

**/knowledge-base/view/articles**

You can find all the published view files in the resources/views/vendor/a1tem/knowledge-base folder and modify the style as you want.

Also you are able to modify the VUE files as well, to find them navigate to resources/js/knowledge-base/views folder.

Don't forget to rebuild the assets by running npm run dev after modifying the vue files.

Use it in the SPA applications
------------------------------

[](#use-it-in-the-spa-applications)

- If you want to use this package in the SPA mode, you have to change in the knowledge-base/config.js file:

```
MODE: MODE_SPA
```

- Then you have to include in your router file:

```
import { KNOWLEDGE_BASE_ROUTER } from './knowledge-base/knowledge-base-router';

export default new VueRouter({
  mode: 'history',
  linkActiveClass: 'active',
  routes: [
    {
      path: '/',
      component: Vue.component('Layout', require('./Layout.vue').default),
      children: [
        // Your routes here
      ].concat(KNOWLEDGE_BASE_ROUTER),
    },
  ],
});
```

You can examine the 'knowledge-base/knowledge-base-router.js' file and change it in the way that the best suited for your application.

Configuration
-------------

[](#configuration)

You can configure different aspects of the package, check config/knowledge-base.php file.

Testing
-------

[](#testing)

```
$ composer phpunit

or

$ vendor/bin/phpunit
```

Security
--------

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Artem Petrusenko](https://github.com/a1tem)

Built with
----------

[](#built-with)

[Laravel](https://laravel.com) - The PHP Framework For Web Artisans

[VueJS](https://vuejs.org) - The Progressive JavaScript Framework

[Element](https://element.eleme.io/) - A Vue 2.0 based component library for developers, designers and product managers

[Vue2Editor](https://www.vue2editor.com/) - Vue.js editor for rich text editing built with Vue.js and Quill.js

License
-------

[](#license)

Knowledge base system is open-sourced software licensed under the MIT license.

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 50% 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1446261?v=4)[Artem Petrusenko](/maintainers/a1tem)[@a1tem](https://github.com/a1tem)

---

Top Contributors

[![a1tem](https://avatars.githubusercontent.com/u/1446261?v=4)](https://github.com/a1tem "a1tem (1 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")

---

Tags

faqfaq-managerfaq-systemfaqsknowledge-baseknowledge-managementknowledgebase

### Embed Badge

![Health badge](/badges/a1tem-knowledge-base/health.svg)

```
[![Health](https://phpackages.com/badges/a1tem-knowledge-base/health.svg)](https://phpackages.com/packages/a1tem-knowledge-base)
```

###  Alternatives

[aginev/datagrid

Datagrid Package for Laravel v5+

4829.9k](/packages/aginev-datagrid)

PHPackages © 2026

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