PHPackages                             probytech/proadmin - 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. [Admin Panels](/categories/admin)
4. /
5. probytech/proadmin

ActiveLibrary[Admin Panels](/categories/admin)

probytech/proadmin
==================

Proadmin by probytech

v1.3(9mo ago)2139↓100%MITJavaScript

Since Oct 17Pushed 7mo ago1 watchersCompare

[ Source](https://github.com/probytech/proadmin)[ Packagist](https://packagist.org/packages/probytech/proadmin)[ RSS](/packages/probytech-proadmin/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (6)Dependencies (4)Versions (6)Used By (0)

 [ ![Probytech logo](https://camo.githubusercontent.com/0f73682a97555298f57e8be02be9c86f9db580478f76377cdfca9bb454aab9d4/68747470733a2f2f70726f6279746563682e636f6d2e75612f696d616765732f6f672e6a7067) ](https://probytech.com.ua)

### Open-source ProAdmin CMS

[](#open-source-proadmin-cms)

The open-source headless CMS made with Laravel and Vue.js, flexible and fully customizable.

 [![Latest Stable Version](https://camo.githubusercontent.com/15b783cfac54b7a2938034a9078ede8590cc1bf416fc6cb259177788cc8e98a4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f70726f6279746563682f70726f61646d696e)](https://packagist.org/packages/probytech/proadmin)

ProAdmin is a free and open-source headless CMS enabling you to manage any content, anywhere.

- **Modern Admin Pane**: Elegant, entirely customizable and a fully extensible admin panel.
- **Customizable**: You can quickly build your logic by fully customizing APIs, routes, or plugins to fit your needs perfectly.
- **Blazing Fast and Robust**: Built on top of Laravel and Vue.js, ProAdmin delivers reliable and solid performance.
- **Front-end Agnostic**: Use any front-end framework (React, Next.js, Vue, Angular, etc.), mobile apps or even IoT.

Getting Started
---------------

[](#getting-started)

### ⏳ Installation

[](#-installation)

Install Laravel first

```
composer create-project laravel/laravel="12.*" PROJECT_NAME
cd PROJECT_NAME
```

- (Use composer to install the ProAdmin project)

```
composer require probytech/proadmin
```

- Configure DB and APP\_URL file in .env
- Run install command

```
php artisan proadmin:install
```

Enjoy 🎉

Concept
=======

[](#concept)

- You can generate CRUDs with this package. The package also automatically creates model files with relations and migrations (they are also added when updating or deleting CRUDs).
- Data about CRUDs collections are stored in storage/collections.json.
- You have the ability to create “single” entities to manage static content.
- The admin panel is fully multi-lingual. CRUD multilingualism is represented as identical tables in different languages, e.g. post\_en, post\_de. This approach [denormalizes](https://en.wikipedia.org/wiki/Denormalization) the database (increasing the amount of space occupied), but makes a very simple approach to manage it. The multilanguage model is very simple and is represented by the MultilanguageModel class.
- Additionaly you can use Translatable trait to translate your content. So you can create non multilanguage instance with common fields like title\_en, title\_de and than add it in your model to protected array $translatable = \['title'\].
- The admin panel is written without using npm or other such technologies, allowing it to be edited without reassembling.

Usage of CRUD generator
=======================

[](#usage-of-crud-generator)

- Go to
- Fill the fields:
    - **CRUD name** - the table name for the collection
    - **CRUD title** - the title for the collection
    - **Is dev** - the option to hide CRUD from admin panel (see more [Open dev menu](#open-dev-menu))
    - **Multilanguage** - the option to enable multilanguage (see more [Multilanguage](multilanguage))
    - **Sort** - sort order in the menu
    - **Dropdown** - set parent menu item (see more [Dropdown menu](dropdown-menu))
    - **Icon** - set icon for the menu
    - **Fields** - set of fields that appear in your CRUD (15 types of the fields)
- Press the button "Create"
- Now you can create Controller and use generated Model in it. Or you can go to /api/{crud\_slug}

Notes:

- All the data about CRUDs is stored in storage/collections.json
- If you want to move the generated model from the default folder - you need to edit the **Model field** in storage/collection.json.
- If you **DON'T** want to edit the model automatically when you change the CRUD - you just need to make the **Model field** in the storage/collections.json empty. (but this will break /api/{model}/{id}).

You can see the examples below:

- Creation:

[![crudEditImage](https://camo.githubusercontent.com/dd26f8a39071be38835739853f76a9dd1cc77b80c8d7a2db53b54562b0a36608/68747470733a2f2f70726f6279746563682e636f6d2e75612f73746f726167652f70686f746f732f312f70726f61646d696e2f6d656e752e706e67)](https://camo.githubusercontent.com/dd26f8a39071be38835739853f76a9dd1cc77b80c8d7a2db53b54562b0a36608/68747470733a2f2f70726f6279746563682e636f6d2e75612f73746f726167652f70686f746f732f312f70726f61646d696e2f6d656e752e706e67)

- List:

[![crudListImage](https://camo.githubusercontent.com/0d1d0f52a7ff5e2b1e1ee160df261a4fdbefc073ae01edc87e9217f6aa0dcc01/68747470733a2f2f70726f6279746563682e636f6d2e75612f73746f726167652f70686f746f732f312f70726f61646d696e2f696e6465782e706e67)](https://camo.githubusercontent.com/0d1d0f52a7ff5e2b1e1ee160df261a4fdbefc073ae01edc87e9217f6aa0dcc01/68747470733a2f2f70726f6279746563682e636f6d2e75612f73746f726167652f70686f746f732f312f70726f61646d696e2f696e6465782e706e67)

- Edit:

[![crudEntityImage](https://camo.githubusercontent.com/6a10ef5c2a53d56a9dee6a6b1f5ae9f9e353937e57d4b9181f5bf59c2e98d2e3/68747470733a2f2f70726f6279746563682e636f6d2e75612f73746f726167652f70686f746f732f312f70726f61646d696e2f656469742e706e67)](https://camo.githubusercontent.com/6a10ef5c2a53d56a9dee6a6b1f5ae9f9e353937e57d4b9181f5bf59c2e98d2e3/68747470733a2f2f70726f6279746563682e636f6d2e75612f73746f726167652f70686f746f732f312f70726f61646d696e2f656469742e706e67)

Usage of Static content generator
=================================

[](#usage-of-static-content-generator)

- Go to
- Fill the fields:
    - **Single title** - title for the menu
    - **Single name** - inner ID for the API and usage in the code
    - **Sort** - sort order
    - **Dropdown** - parent menu item (see more [Dropdown menu](#dropdown-menu))
    - **Icon** - icon for the menu
    - **Fields** - set of fields that appear in your Single (15 types of the fields)
- Press the button "Create"
- Now you can use it in the code like that:

```
use Single;

Single::get('your_single_api_id_here');
```

You can see the examples below:

- Creation:

[![singleCreateImage](https://camo.githubusercontent.com/212c3156141772f2935fa97a623c10597a57b0e04f95a4993e2e39c41909ee0f/68747470733a2f2f70726f6279746563682e636f6d2e75612f73746f726167652f70686f746f732f312f70726f61646d696e2f73696e676c655f6372656174652e706e67)](https://camo.githubusercontent.com/212c3156141772f2935fa97a623c10597a57b0e04f95a4993e2e39c41909ee0f/68747470733a2f2f70726f6279746563682e636f6d2e75612f73746f726167652f70686f746f732f312f70726f61646d696e2f73696e676c655f6372656174652e706e67)

- Edit:

[![singleEditImage](https://camo.githubusercontent.com/620ecbfd192fcd5727d1c1253662abb08ce1d1b3eb558c43e4efaad01e15dab4/68747470733a2f2f70726f6279746563682e636f6d2e75612f73746f726167652f70686f746f732f312f70726f61646d696e2f73696e676c652e706e67)](https://camo.githubusercontent.com/620ecbfd192fcd5727d1c1253662abb08ce1d1b3eb558c43e4efaad01e15dab4/68747470733a2f2f70726f6279746563682e636f6d2e75612f73746f726167652f70686f746f732f312f70726f61646d696e2f73696e676c652e706e67)

Dropdown menu
=============

[](#dropdown-menu)

You can add a parent menu item for the singles and CRUDs you create.

- Go to:
- Add dropdowns
- Go to CRUD or single (static content generator) and add parent

You can see the example of the dropdown below:

[![imageDropdown](https://camo.githubusercontent.com/e04b0b5dacc34db12ee121091c9156ca0155e03fe49e0912bd816f7ef18e37fc/68747470733a2f2f70726f6279746563682e636f6d2e75612f73746f726167652f70686f746f732f312f70726f61646d696e2f64726f70646f776e2e706e67)](https://camo.githubusercontent.com/e04b0b5dacc34db12ee121091c9156ca0155e03fe49e0912bd816f7ef18e37fc/68747470733a2f2f70726f6279746563682e636f6d2e75612f73746f726167652f70686f746f732f312f70726f61646d696e2f64726f70646f776e2e706e67)

Multilanguage
=============

[](#multilanguage)

- The admin panel is fully multi-lingual. CRUD multilingualism is represented as identical tables in different languages, e.g. post\_en, post\_de. This approach [denormalizes](https://en.wikipedia.org/wiki/Denormalization) the database (increasing the amount of space occupied), but makes a very simple approach to manage it. The multilanguage model is very simple and is represented by the MultilanguageModel class.
- To make the custom model multilingual - just inherit the App\\Proadmin\\Models\\MultilanguageModel class.
- There is "Multilanguage" select in CRUD to make it multilangual.
- Each field has a Lang column to make it multi-lingual. If Lang == “common”, then when saving the field - the value will be updated in all the tables (for example posts\_en, posts\_de, posts\_fr). If Lang == “separate”, then when saving the field - the value will be updated in the current language table only (for example posts\_en).
- You can edit languages at .
- The language of the admin panel is represented in the “admin\_lang\_tag” column of the User.
- Additionaly you can use Translatable trait to translate your content. So you can create non multilanguage instance with common fields like title\_en, title\_de and than add it in your model to protected array $translatable = \['title'\].
- There is a class Lang. It has several useful methods:

```
use Lang;

Lang::all(); // get all languages
Lang::get(); // get current language tag
Lang::main(); // get main language tag
...

```

How to
======

[](#how-to)

Open dev menu
-------------

[](#open-dev-menu)

- By default, internal settings for languages, crud, single and dropdown are hidden.
- All hidden menu items are displayed if PROADMIN\_DEV=true in the .env file.
- You can also hide CRUDs ("Is dev" option).
- To show hidden menu items, you need to add "?dev=" to your address, for example: .

Add custom page
---------------

[](#add-custom-page)

- Create Vue component. For example:

```
/views/proadmin/components/custom/custom.blade.php

```

And that's it! Your component will be automatically available in the admin panel.

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance61

Regular maintenance activity

Popularity14

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~168 days

Total

5

Last Release

271d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c9b9c3ba7bd54dfe3aa3b1bf0f6dd736953a83460f3dd0aa655c20a3c8c7e711?d=identicon)[tolikshift](/maintainers/tolikshift)

---

Top Contributors

[![probytech](https://avatars.githubusercontent.com/u/36971468?v=4)](https://github.com/probytech "probytech (48 commits)")

### Embed Badge

![Health badge](/badges/probytech-proadmin/health.svg)

```
[![Health](https://phpackages.com/badges/probytech-proadmin/health.svg)](https://phpackages.com/packages/probytech-proadmin)
```

###  Alternatives

[sebastienheyd/boilerplate

Laravel Boilerplate based on AdminLTE 3 with blade components, user management, roles, permissions, logs viewer, ...

28618.2k3](/packages/sebastienheyd-boilerplate)[arbory/arbory

Administration interface for Laravel

4752.8k3](/packages/arbory-arbory)[wutongwan/lego

Yet another CRUD widgets for Laravel

1107.7k](/packages/wutongwan-lego)[bedita/manager

BEdita Manager - official admin webapp for BEdita4 API

131.0k](/packages/bedita-manager)

PHPackages © 2026

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