Introduction Laravel Nova

Fahmy Ruszally
DOT Intern
Published in
4 min readAug 31, 2019
Logo of laravel nova

Hi guys today I will share you about Laravel nova, what I’ve learned on my Internship program at DOT Indonesia.

What is Laravel Nova

Laravel Nova is an Administration Panel built by the creator of Laravel. It looks to me to be the first step on the path of Laravel CMS. Nova introduces an advanced administration panel which is essentially plug and play. This means we can add it retroactively to any Laravel application which is already built, and it does everything that you’d expect of an Administration Panel, it runs Create, Read, Update and Delete (CRUD) operations for all of your content types. Nova is a single-page application built on the Vue.js ecosystem and Tailwind.css.

Features of Nova

If you head over to Nova’s landing page, you’ll see that it has quite a handful of features like:

  • Resource Management:
    allows for quick integration of your models to your dashboard. It supports all Eloquent relationships including pivot tables.
  • Actions:
    Actions are PHP tasks that you can run against a resource or batch of resources. Have an action that takes a while? No problem, Nova’s queued actions will keep your administration panel feeling snappy.
  • Filters:
    Write custom filters for your resource indexes to offer your users quick glances at different segments of your data.
  • Lenses:
    Need to customize a resource list a little more than a filter can provide? No problem. Add lenses to your resource to take full control over the entire Eloquent query.
  • Metrics:
    Nova makes it painless to quickly display custom metrics for your application, allowing you to generate three types of graphs in seconds. Nova included query helpers to make it all easy as pie.
  • Cards :
    Cards are the individual boxes, like those the Metrics show in. But you can make other cards, and register them. you’ll have something like
    php artisan nova:card CardName and it will make a Vue file and a Controller for you to use to serve that card.
  • Authorization:
    Nova is beautifully integrated with Laravel’s existing authorization policies. Let your Nova resources automatically leverage your existing application policies to determine a user’s abilities. Fine-grained authorization support is even provided for relationships, tools, actions, lenses, and fields.
  • Custom Fields:
    Need a field type that isn’t included with Nova ?
    No problem use the Nova CLI to generate a custom field, for example
    php artisan nova:field vendor/FieldNameand take total control over its implementation and design.
  • Scout search integration:
    Feel the power of the Laravel ecosystem by linking your Nova administration panel with Laravel Scout. Once you do, you’ll get blazing fast search results powered by Algolia and the cloud.
  • Custom Tools:
    Nova offers CLI generators for scaffolding your own custom tools. When generating a tool, Nova will prompt you to install the tool’s NPM dependencies, compile its assets, and update your application’scomposer.json file. Each tool even contains its own composer.json file and is ready to be shared with the world on GitHub or the source control provider of your choice.

I definitely recommend giving Taylor’s keynote to deep demo of Nova Features.

How much does Laravel Nova cost ?

Unlike the Laravel PHP Framework, Laravel Nova is not open-source and there is a license fee of $199 USD per site. The price is for the current Major release version and you are entitled to free updates but will most likely need to pay a new or upgrade license fee if you want to upgrade to the next major release.
This is a small price to pay for what Nova has to offer and the development time saved by Nova really is substantial!

“With Nova, we sweat the small stuff to build something you’ll love. Your application’s administration panel doesn’t have to be an after-thought”

- Taylor Otwell — Creator of Laravel

Conclusion

The advantages of Laravel nova is huge time saving for developers, Easy to install into existing projects to add an admin panel including custom functionality, Big community creating high quality, open-source plugins, extensions, tutorials and packages.
But nova is Not open-source, making it less suitable for small non-profit websites, and more of your code (compared to a full CMS), you need to maintain it.

Well I think is enaugh, If you have any suggestions, please feel free to do so in the comments. Thanks for reading! see ya!

--

--