Introduction
Novus - Modern CMS for your Laravel application
Novus is a modern, content management system (CMS) designed specifically for Laravel applications. It provides a robust, feature-rich platform for creating, managing, and publishing digital content with a focus on developer experience and content flexibility.
Overview
Novus combines the power of Laravel and Inertia.js with a sleek, React-based Shadcn UI components to deliver a seamless developer experience. It’s designed to stay out of your way — once installed and configured, Novus operates on its own path, without interfering with your application’s core logic.
Key Features
- Modern Admin Interface: Built with React, TypeScript, and Tailwind CSS for an intuitive user experience
- Media Management: Comprehensive asset management with image optimization and thumbnails
- SEO Tools: Built-in SEO features for optimizing content visibility
- Analytics Integration: Connect with Google Analytics to track performance metrics
- AI Assistance: Optional AI-powered content enhancement features
Quick start
Get Novus up and running in your Laravel application with just a few simple steps.
Installing the package
Novus can be installed via Composer. It requires Laravel 11+ and PHP 8.2+.
composer require codemystify/novus
After installing the package, you can use the built-in installation command to set up Novus:
php artisan novus:prod
This command will:
- Publish the configuration file
- Publish migrations
- Run the migrations (with your confirmation)
- Set up frontend assets
- Build the frontend assets (unless you use the
--no-build
option)
Additional options:
--force
Overwrite any existing assets or config--no-build:
Skip the frontend build process
Creating your first author
Novus comes with a command to create your first administrative user:
php artisan novus:create-author
This interactive command will prompt you for the author's name, email, and password, and set up the first user with administrative privileges.
Security First!
Make sure to use a strong, unique password for your admin account. The admin user has full access to all content and settings within Novus CMS.
Configuring the routes
Novus automatically registers its routes during the package bootstrapping process. By default, the CMS will be accessible at /novus
. You can customize this in the configuration file.
// config/novus.php
return [
// Route configuration
'path' => env('NOVUS_PATH', 'novus'),
'domain' => env('NOVUS_DOMAIN'),
'middleware_group' => [],
// Storage configuration
'storage_disk' => env('NOVUS_STORAGE_DISK', 'public'),
'storage_path' => env('NOVUS_STORAGE_PATH', 'novus-media'),
// Access control
'access_control' => \Shah\Novus\Services\Auth\AccessResolver::class,
// Media settings
'image_sizes' => [
'thumbnail' => [
'width' => 150,
'height' => 150,
],
'medium' => [
'width' => 300,
'height' => 300,
],
'large' => [
'width' => 1024,
'height' => 1024,
],
],
// Additional configurations...
];
Custom Domain
You can also configure Novus to run on a specific domain by setting the domain
option in the configuration file. This is useful if you want to serve your CMS from a subdomain like admin.yoursite.com
.
Content Management
Novus provides comprehensive tools for managing all aspects of your content.
Posts
The posts module allows you to create, edit, and manage blog posts or articles. Each post can:
- Be saved as a draft or published immediately
- Have a featured image
- Be organized with categories and tags
- Include formatted content using the rich text editor
- Have SEO metadata for better search engine visibility
To create a new post, navigate to the Posts section and click "New Post". The editor supports rich formatting, embedding images, and more.
Categories and Tags
Organize your content with a flexible category system:
- Categories can have sub-categories
- Each post can belong to multiple categories
- Categories have their own SEO settings
Tags provide another way to classify your content:
- Create tags on-the-fly while creating posts
- Manage all tags from the dedicated tag management interface
- Import and export tags for bulk operations
Media Library
The media library allows you to upload, organize, and reuse images and other media files:
- Drag-and-drop file uploads
- Automatic thumbnail generation
- Media organization with collections
- Metadata management for images (alt text, title, etc.)
- Search and filter capabilities