Open-source project
uasoft-indonesia/badaso avatar
uasoft-indonesia/badaso

Badaso: a Laravel admin panel that also generates the API behind itself

Laravel Vue headless CMS / admin panel / dashboard / builder / API CRUD generator, anything !

1,256 stars227 forksPHPMIT

At a glance

What is it?
Badaso is an open source Laravel and Vue admin panel that installs into an existing application as the badaso/core package, and it exposes the same data through a REST API and GraphQL with JWT authentication. The panel includes a CRUD generator, role and permission management, media management, activity logging and daily database backups, and it is MIT licensed.
Who is it for?
Badaso suits a Laravel team that needs an administration interface, a generated API and a role system in one install, and that would rather configure a panel than write the CRUD layer by hand.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 10 days ago.
What is it written in?
Mainly PHP, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What it is: a panel, an API and a builder in one package

Badaso describes itself as the API and platform builder, and the repository description is blunter, a Laravel Vue headless CMS, admin panel, dashboard, builder and API CRUD generator. The framing that matters is headless. The panel is not a separate application talking to your API over HTTP, it is a package installed into the same Laravel application, and the CRUD it exposes to the panel is the same CRUD it exposes to a mobile client. The Why list makes the reasoning explicit. It is headless, using JWT authentication and authorization by default, with clean integration through a REST API and GraphQL, so you do not need to develop an API for your mobile and IoT clients. The panel itself is a modern PWA dashboard, a fast SPA based on Vue.js with PWA technology, installable on Windows, Linux, macOS, Android and iOS, and able to run offline.

The feature list, which is really a list of admin panel capabilities

The Badaso features section enumerates what the panel covers. An advanced CRUD generator to build the application faster. An API generator that integrates your application, mobile, desktop, even IoT, through REST API and GraphQL. User management for your application users, role management so a user can have a different role, and permission management where each role has different access permissions. Menu management so the application menu is easy to maintain. Database management, handling your database migration via the application. Activity logging, to keep your system safe and know who makes the trouble, and a log UI viewer so you do not need to open your server to check the log. A daily database backup for the safety of your valuable database. And a media manager for local and cloud media through the application. The database management point is the one to look at hard, because the panel managing your migrations means the panel is coupled to your schema rather than sitting beside it.

Installation as a Composer package, and the config step

The README defers the mechanics to the official documentation site, which is the normal arrangement for a project of this size, and the packaging badges point at the badaso/core package on Packagist rather than a monorepo of separate packages. The important structural fact is that this is a Laravel package, so it arrives through Composer into a project you already have, and everything it manages, the menus, the roles, the logs, the backups and the media, is stored in your application's database rather than in a separate system. The Topics list reinforces this, with laravel, vuejs, rest, graphql, pwa, service-worker, spa, low-code and no-code among the tags.

The live demo, and what it tells you about the state of the project

There is a live demo, with a caveat attached that is worth reading before drawing conclusions. The README says some errors may happen because of random testing by a lot of random people, and that the live demo resets every one hour. That is an unusually candid note, and it tells you two things. The first is that the demo instance is a shared test target rather than a curated gallery. The second is that the panel holds state that is wiped periodically, which is consistent with a project that expects to be installed fresh into each application rather than run as a long lived service. The primary language is PHP, the licence is MIT, the default branch is main, and the last push to the repository was on 2026-10-13, with the repository not archived.

The toolchain: PHPStan with a baseline, ESLint, StyleCI and PHPUnit

The repository layout and the badges show a project with a real quality setup, which matters for a package that writes into your database. There are separate workflows for ESLint, PHPUnit and PHPStan, plus a StyleCI badge for style, and the files at the top level include a phpstan.neon.dist with a phpstan-baseline.neon, which is the standard arrangement when a codebase has accumulated findings that are acknowledged rather than fixed. There is a .eslintrc.js with an .eslintignore for the JavaScript side, a .gitpod.yml and a .gitpod/ directory with a .gitpod.Dockerfile for a browser based development environment, a bin/ directory for the console commands, and a src/ directory with a tests/ directory beside it. The package.json is largely the ESLint dependency tree, with acorn, espree, eslint-scope and the rest of the parser stack, which is a sign that the front end assets are built with the standard ESLint toolchain.

Sponsorship, and the honest reading of the release history

A noticeable part of the README is funding. Badaso is described as 100% free and open source, and the sponsorship page names an exclusive sponsor on Amazon Web Services, with a tier of backer on Open Collective, plus a GitHub sponsors link, a PayPal one-time donation and a direct contact address. The stated reason is blunt, that good financial support will keep badaso up to date and support the long term project. The release history is what an evaluator should weigh against that. The listed versions are v2.9.11 from 2024-02-09, v2.9.12 from 2025-05-28 and v2.9.13 from 2025-06-13, so the tagged line is on the 2.9 series with the last release in June 2025, while the repository was pushed to as recently as October 2026. The gap between the two suggests work on the branch that has not been cut into a release, which for a package you install with Composer means you are choosing between a tagged version and whatever the maintainer has on the branch.

Editorial conclusion

Badaso suits a Laravel team that needs an administration interface, a generated API and a role system in one install, and that would rather configure a panel than write the CRUD layer by hand. It is the wrong choice if you want a small dependency footprint, because a full admin panel brings a schema, an asset pipeline and a set of tables with your application, and a poor fit if you need the panel to be a thin layer, since the generator writes into your database as a first class part of the product. Before adopting it, read the installation documentation rather than the README, because the README is mostly a feature list and a sponsorship page, and check the release cadence, since the listed versions are 2.9.11 from February 2024, 2.9.12 from May 2025 and 2.9.13 from June 2025, while the last push to the repository was on 2026-10-13.

Frequently asked questions

What is Badaso?

It is an open source Laravel and Vue admin panel, dashboard and API generator, packaged as the badaso/core Composer package and installable into an existing Laravel application. The panel is headless, exposing the same data through a REST API and GraphQL with JWT authentication, and it is MIT licensed.

What features does the Badaso admin panel include?

An advanced CRUD generator, an API generator over REST and GraphQL, user management, role management, permission management per role, menu management, database management through the application, activity logging with a log UI viewer, daily database backup, and a media manager for local and cloud media.

How does Badaso differ from a regular Laravel admin panel?

It is headless, so the panel and the API serve the same data, and it uses JWT authentication and authorization by default. The panel is also a PWA built as a Vue.js SPA that can be installed on Windows, Linux, macOS, Android and iOS, and it works offline.

How do I install Badaso in a Laravel project?

It is a Composer package, badaso/core, so it is added to your application like any other dependency. The README points to the official documentation for the full installation and how to use steps.

How actively maintained is Badaso?

The last push to the repository was on 2026-10-13 and the repository is not archived, but the listed releases are v2.9.11 from February 2024, v2.9.12 from May 2025 and v2.9.13 from June 2025, so the tagged line is behind the branch. The project asks for sponsorship through Open Collective, GitHub Sponsors, PayPal and a direct contact to keep it updated and supported.

Official sources

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. uasoft-indonesia/badaso on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/uasoft-indonesia-badaso.svg)](https://hysenlabs.com/projects/uasoft-indonesia-badaso)

Was this useful?