Skip to content
Nevela 0.5.0: users, roles and permissions: a Users screen, a Roles screen, and a dashboard that shows each person only what their role allows.Users, roles and permissions

What is Nevela?

Nevela is a Laravel-first fullstack framework. Laravel owns the data, the rules and the API. The interface is a Next.js dashboard. You describe a resource once, and Nevela generates both sides from it.

Terminal window
pnpm create nevela my-app

That gives you a Laravel API and a Next.js dashboard, set up and connected. Then, for each kind of record your app keeps:

Terminal window
php artisan nevela:resource Product --fields="name:string, sku:string!, price:money, kind:enum(stock|digital), notes:text?"
php artisan migrate

After those two commands you have:

  • a products table, an Eloquent model, validation, a policy and a REST API at /api/products
  • a Products section in the dashboard with a table, search, filters, forms, import and export

Laravel is the authority. Validation is a form request. Authorization is a policy. Both live in Laravel and nowhere else. The dashboard shows what Laravel returns, including its validation messages, so no rule is written twice.

One description drives both sides. A resource is a JSON file in the Laravel app. The model, the migration, the API and the dashboard screens are all generated from it, so they cannot drift apart.

Your code is kept. Generated code sits between markers. Regenerating rewrites only what is between them, and if you edited inside, Nevela skips the file and tells you rather than overwriting it.

Part What it is
create-nevela The command that creates a new app: pnpm create nevela my-app.
nevela/laravel A Laravel package: the generator, the commands and the runtime behind the REST API.
The Laravel app An ordinary Laravel app that uses the package. Your models, policies and migrations live here.
The web app A Next.js dashboard. It has no database; it calls the Laravel API.

The dashboard is Flare’s Next.js frontend, by Muke Johnbaptist, used under the MIT license. Nevela replaces its database and sign-in layer with calls to Laravel.

  • Many-to-many relations are not generated. One-to-many is: see Relationships.
  • Uploaded files are not deleted when their record is.
  • Signing in with Google, GitHub and other providers. Passwords, passkeys, two-factor and emailed links are there: see Authentication.

The roadmap lists what is planned.

  • Quickstart: create an app and add your first resource
  • Resources: how a resource is described and what is generated
  • Commands: the three artisan commands