Skip to content
Nevela 0.4.3: full authentication: two-factor, passkeys, emailed sign-in links, password reset, a profile picture and a list of devices.Authentication

Nevela, the fullstack framework for Laravel and Next.js

v0.4.3Two-factor, passkeys and account pages

The fullstack frameworkfor Laravel and Next.js

Describe a resource once. Nevela writes the table, the API, the validation and the policy in Laravel, and the dashboard screens in Next.js. Laravel stays the only place your rules live.

pnpm create nevela my-app
Terminal, in the Laravel appyou write
php artisan nevela:resource Contact \
  --fields="name:string,
            email:email!,
            phone:tel?,
            status:enum(lead|customer)"

php artisan migrate
Laravel and Next.jsNevela writes
  1. nevela/resources/contact.jsonDescriptor
  2. app/Models/Contact.phpEloquent model
  3. database/migrations/…_create_contacts_table.phpMigration
  4. app/Http/Requests/Nevela/ContactRequest.phpValidation
  5. app/Http/Controllers/Api/ContactController.phpREST API
  6. app/Policies/ContactPolicy.phpAuthorization
  7. routes/nevela.phpRoutes
  8. web: resources/contact.resource.tsDashboard descriptor
  9. web: app/dashboard/contacts/page.tsxTable, forms, detail

Edit the descriptor and run nevela:generate: every file follows, and your own code outside the generated blocks is kept.

Built on
  • Laravel
  • Eloquent
  • Sanctum
  • Next.js 16
  • React 19
  • Flare dashboard
  • Tailwind CSS

[ 01 / 03 ] Describe

Everything a resource needs,
from one description

nevela:resource turns a list of fields into a working feature on both sides: the Laravel code that owns the data, and the screens people use to work with it.

[ 02 / 03 ] Generate

One command to start,
one for each thing you add

Each one writes plain, readable files into your project. Change them, or regenerate: Nevela keeps your edits and tells you when it skipped a file.

A new app in one command: a Laravel API and a Next.js dashboard, installed and connected.

Read the reference
pnpm create nevela my-app
  • ✔ Creating the Laravel app
  • ✔ Installing Nevela and token sign-in
  • ✔ Setting up the database
  • ✔ Installing dashboard packages (pnpm)
  • ✔ Created my-app
  • Sign in with admin@example.com / password

And what you write stays small

nevela/resources/product.json
{
"name": "Product",
"icon": "package",
"group": "Catalogue",
"fields": {
"name": { "kind": "string" },
"sku": { "kind": "string", "unique": true },
"price": { "kind": "float", "format": "money" },
"kind": { "kind": "enum", "options": ["stock", "digital"] },
"notes": { "kind": "text", "required": false }
}
}

[ 03 / 03 ] Run

Laravel decides,
the dashboard shows

The Next.js server holds the sign-in token and calls Laravel for everything. The browser never talks to Laravel, and no rule is written twice.

curl -X POST /api/products -d '{"name": "", "sku": "L-1"}'
  • 422 Validation failed.
  •   name: The name field is required.
  •   sku: The sku has already been taken.
  •   price: The price field is required.
  • The same messages appear next to each field in the dashboard form.

Questions

Is it production-ready?

Not yet. Nevela is at 0.x: the generator, the API and the dashboard work end to end and are tested on every change, but relations, file uploads and account pages are still to come, and things can change between minor versions.

Where do the rules live?

In Laravel only. Validation is a form request, authorization is a policy, and the dashboard shows what Laravel answers. No rule is written twice.

Can I edit the generated code?

Yes. Generated code lives inside marked blocks; everything outside them is yours and is never touched. If you edit inside a block, Nevela skips that file and tells you instead of overwriting it.

How does it relate to Flare?

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, and generates Flare's resource descriptors from Laravel.

Which databases work?

Any that Laravel supports: SQLite, MySQL, MariaDB, PostgreSQL and SQL Server. The Laravel app ships set up for SQLite, which needs no installation.

Create your app
in the next five minutes