Introduction
NILOVA - Responsive Codeigniter Bootstrap 5 Admin Template for All Your Web Projects
Nilova Codeigniter is a premium Bootstrap 5 Admin Template that combines different themes with full flexibility and responsiveness. It’s crafted using HTML5, CSS3, and Bootstrap 5, offering seamless customization with SASS integration. Whether you’re building a web application, admin dashboard, or project management platform, this template ensures your site stands out with ease.
Support and Updates:
When you purchase Nilova, you gain access to free future updates to ensure your template remains up-to-date. Plus, our support team is always ready to assist with any questions.
Dependencies for Nilova
- PHP : 8.2.12 or Newer
- Composer : "^2.9.5",
- CodeIgniter : 4.7
- Bootstrap v5.3.8
- Sass
- Gulp v5.0.0
- Node : 22.18.0
- NPM : 10.8.1
What Do You Get with the Nilova:
Nilova provides all necessary PHP, CSS, SCSS, JS files, along with detailed documentation to help you easily customize and implement the template.
Nilova Compatibility with Popular Browsers:
Nilova is fully compatible with major browsers, ensuring a seamless user experience across Chrome, Firefox, Safari, Edge, and Opera.
Folder Structure
Main php Layout Page Structure
Main php Layout file structure of the Nilova template. Root:app/views/layouts/main.php
The main.php file serves as the base file for all PHP pages in the Nilova template.
html
<!DOCTYPE html>
<html lang="en" dir="ltr" data-nav-layout="vertical" data-theme-mode="light" data-header-styles="light" data-menu-styles="dark" data-width="fullwidth" data-toggled="close">
<head>
<!-- Meta Data -->
<meta charset="UTF-8">
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="Description" content="Codeigniter Bootstrap Responsive Admin Web Dashboard Template">
<meta name="Author" content="Spruko Technologies Private Limited">
<meta name="keywords" content="admin bootstrap template, admin dashboard ui, admin panel bootstrap template, admin panel template, bootstrap 5 admin dashboard, bootstrap dashboard template, bootstrap template for admin, codeigniter admin dashboard, codeigniter admin panel, codeigniter admin template, codeigniter bootstrap template, codeigniter dashboard, codeigniter template admin, dashboard template bootstrap, template admin codeigniter.">
<!-- Title -->
<title> Nilova - Codeigniter Bootstrap 5 Premium Admin & Dashboard Template </title>
<!-- Favicon -->
<link rel="icon" href="<?php echo base_url('assets/images/brand-logos/favicon.ico'); ?>" type="image/x-icon">
<!-- Start::Styles -->
<?= $this->include('layouts/components/styles'); ?>
<!-- End::Styles -->
</head>
<body class="<?= isset($BodyClass) ? esc($BodyClass) : '' ?>">
<div> class="progress-top-bar"></div>
<!-- Start::main-switcher -->
<?= $this->include('layouts/components/switcher'); ?>
<!-- End::main-switcher -->
<!-- Loader -->
<div id="loader" >
<img src="<?php echo base_url('assets/images/media/loader.svg'); ?>" alt="">
</div>
<!-- Loader -->
<!-- page -->
<div class="page">
<!-- Start::main-header -->
<?= $this->include('layouts/components/main-header'); ?>
<!-- End::main-header -->
<!-- Start::main-sidebar -->
<?= $this->include('layouts/components/main-sidebar'); ?>
<!-- End::main-sidebar -->
<!-- Start::app-content -->
<div class="main-content app-content">
<?= $this->renderSection('content'); ?>
</div>
<!-- End::app-content -->
<!-- Start::main-modal -->
<?= $this->include('layouts/components/modal'); ?>
<!-- End::main-modal -->
<!-- Start::main-footer -->
<?= $this->include('layouts/components/footer'); ?>
<!-- End::main-footer -->
</div>
<!-- End Page -->
<!-- Start::main-scripts -->
<?= $this->include('layouts/components/scripts'); ?>
<!-- End::main-scripts -->
</body>
</html>
1. To ensure consistency across all pages, use the main.php file as the base layout for each PHP page. This allows for central management of shared elements like headers, footers, and navigation. To achieve this, include the following code at the top of each PHP file:
code
<?= $this->extend('layouts/main'); ?>
PHP Page View Code (for example, the PHP "example.php" file code)
code
<?= $this->extend('layouts/main'); ?>
<?= $this->section('styles'); ?>
<?= $this->endSection('styles'); ?>
<?= $this->section('content'); ?>
<?= $this->endSection('content'); ?>
<?= $this->section('scripts'); ?>
<?= $this->endSection('scripts'); ?>
- First, unzip the project folder that you received from us.
- Navigate as shown Example: C:\xampp\htdocs\nilova\app\Views\pages Open pages folder will have 181 php pages
- Navigate as shown Example: C:\xampp\htdocs\nilova\app\Views\layouts\components\ Open components folder there you will find footer.php, main-header.php, main-sidebar.php, modal,php, scripts.php, styles.php, and switcher.php etc files
- Navigate as shown Example: C:\xampp\htdocs\nilova\app\View\layouts\ Open layouts folder there you will find base.php, landing-base.php, custom-base.php files
- Here main.php file is the base file for all the php pages.
- Here custom-main.php file is the base file for all custom pages ex: sign-in-basic.php, sign-up-cover.php, error404.php, error500.php, comingsoon.php, create-password-cover.php and create-password-basic.php etc..,
- Here landing-main.php file is the base file for only landing page ex: landing.php
Installation Process of Composer
In order to run CodeIgniter we need to install composer by the followingsteps
Steps to Download & Installation of Composer
Step1: Please visite the Official Web Site of the Composer www.getcomposer.org
Step2: Click on the Download option
Step3: Click on the Composer-Setup.exe you are done with download
Step4: Now Right click on the Composer-Setup.exe file and select Run as administrator click on Yes
Step5: You'll be getting two options click as per your choice
Step6: I choose Recommended option here and if your developer you can check the box of the Developer Mode
Step7: And click on the Next button please make sure of installation path and then click Next
Step8: You'll be asked to enter proxy url please skip the step and click on the Next button
Step9: Please make sure with the PHP Version it should not be less than 7.3 V, here we used 8.2.12 Version and then click on the next button
Step10: To confirm that Composer is installed in your system then type Composer in command prompt (if you are using XAMPP then go to C:\xampp\htdocs location and type composer)
How to Run CodeIgniter Project in localhost
If you have installed XAMPP on your machine, then please follow the below steps.
Step 1: Quick view of Installations
1. Download and install Composer from the official site https://getcomposer.org/
2. Install CodeIgniter by using Composer, as mentioned in the installation process above.
Step 2: Run project
1. After installing your CodeIgniter, open XAMPP and click on the start button on the Apache server and MySQL server.
2. Extract the zip file of the CodeIgniter project that you received.
3. If your project is placed on the local server, for example: C:\xampp\htdocs\myprojectfolder
4. Open the terminal and set the root path of your template and then run the following command only if it is required to update your "vendor" directory.
code
composer install
5. Open a new terminal and run the following command to install node_modules.
code
npm install
6. Then, run the following command to build the assets.
code
gulp
7. Now in the same root path, run the following command to start the Codeigniter server:
code
php spark serve
8. Your CodeIgniter PHP Development Server has been started (http://localhost:8080).
9. Copy the URL and paste it in your favorite browser.
Purpose of a Starter Kit
Introduction to the Codeigniter Starter Kit:
The Codeigniter starterkit is a resource that helps developers kickstart their Codeigniter web development projects by providing a preconfigured and ready-to-use template. It aims to simplify the initial setup and provide a foundation for building Codeigniter Framework-based websites or applications.
Purpose of the Codeigniter Starter Kit:
The purpose of the Codeigniter starter kit is to save developers time and effort by offering a set of prebuilt files and configurations commonly used in Codeigniter projects. Instead of starting from scratch, developers can leverage the starter kit to quickly set up a project structure that adheres to best practices and industry standards.
Benefits of Using the Codeigniter Starter Kit:
The starter kit eliminates the need to set up the basic project structure manually. It provides a well-organized file and folder structure, including commonly used directories for separating code, templates, assets, and configuration files. This allows developers to focus more on implementing business logic rather than spending time on initial setup.
Starterkit Overview
You can use the Starterkit if you are creating a new project. It will be time-consuming to use the full admin version for a new project as Nilova have more than 181 pages.
We have provided all the pre-build layouts like Sidemenu, Header, footer and blank pages etc in the Starterkit.
For further information or support regarding the template, please contact us using the provided link: https://support.spruko.com/
- Take a quick look at the folder structure of the "Starterkit."
- Integration of your customized PHP pages becomes easy when using the "Starterkit."
- The "Starterkit" provides all the layout components, related assets, and plugins.
- To explore the contents of the "Starterkit," unzip the project folder received after purchase. Navigate to the following paths:
- Example: C:/projectname/app/Views/layouts/- This folder contains files such as main.php file.
- Example: C:/projectname/app/Views/layouts/components/- This folder contains files such as main-header.php, main-sidebar.php and footer.php, and switcher.php pages.
- Example: C:/projectname/app/Views/pages/dashboards/- This folder contains files such as index.php, files and etc..,.
Nilova comes with power of Gulp
Gulp is a popular JavaScript task runner that automates common development tasks, such as compiling Sass to CSS, minifying JavaScript and CSS files, optimizing images, and more. Gulp allows developers to define tasks that process files in a project, and then run those tasks automatically when files are changed or when specific commands are issued.for more information about gulp Check here.
Prerequisites:
To install and set up all the prerequisites, follow these steps:
Ensure that Node.js is installed and running on your computer. If Node.js is already installed, you can skip this step. Otherwise, install it on your computer.
If you want to install and use the latest version of Node.js, you can find the necessary instructions on the official website.
To set up gulp, you need to install it globally on your system. Run one of the following commands in your terminal:
code
npm install -g gulp
code
npm install --save-dev gulpInstallation
Please follow below steps to install and setup all pre requisites:
Make sure to have all above pre requisites installed & running in your computer
Open your terminal, go to your folder and enter below command. This would install all required dependencies in node_modules folder.
code
npm installBuild Production File
After completing the above steps, run the following command from the project root (Nilova/) in your terminal or command prompt:
code
gulpNote:-Ensure all required node_modules are installed to run the gulp tasks successfully.
The following command performs several tasks to streamline your development workflow below are some of the task it performs :
- Generates the
libs/ and CSS/ foldersdirectory
Installation Instructions For both CPANEL’S and FTP
Installation Instructions:
Upload the Project that you have purchased, based on your uploading process on server
FTP Uploading Process
-
Access FTP:
- Login to your FTP server using your login credentials provided by your hosting provider. Upload Project Files:
- Now extract the project folder that you have received, in any of your directories
- Now navigate to that directory using FTP panel and upload the project in Path: public_html/ directory in your FTP server .
- Once the uploading completes you can access your domain Example: www.example.com
cPanel Uploading Process
-
Access cPanel:
- Login to your cPanel server using your login credentials provided by your hosting provider. Upload Project Files:
- Once you successfully accessed your cPanel dashboard, navigate and click on File Manager
- Now open public_html and click on Upload
- Here you can select your zipped project folder or you can simply drag and drop your zipped project folder, once the uploading is completed go back to the public_html folder
- In the public_html folder, you will find your zipped project folder now you need to extract that project folder
- Once the extraction is completed you can access your domain Example: www.example.com
FAQ'S
Step 1:
Go To style.scss (public/assets/scss/styles.scss )
if you want to change another font-family Go to the site Google Fonts And Select One font Family and import in to styles.scss file
How to Select font Family

Step 2:
And paste Your Selected font-family in style.scss

Step 3:
And add the Your Selected font-family in _variables.scss(public/assets/scss/_variables.scss)
code
--default-font-family: "Google Sans", sans-serif;Note : After changing the styles, you must run the gulp command "gulp" . For more gulp commands, see the gulp page click here.
By default menu icons are lucide icons if you want to change To change Menu icons, open main-sidebar.php page Path:app/Views/layouts/components/main-sidebar.php and go through app-sidebar section, in that section you will find lucideicons of menu in svg tag, there you can replace previous icon with your icon. Example as shown in below
html
html
Go To "public/assets/images/brand-logos" folder and replace
your
logo with Previous Logos within in image size.
note: Please don't increase logo sizes. Replace your logo within
given
image size. otherwise the logo will not fit in particular place it
disturbs the template design.
Note : After changing the styles, you must run the gulp command "gulp" . For more gulp commands, see the gulp page click here.
Step1:
To clear LocalStorage loading functions you need to remove
localStorageBackup2() function in custom-switcher.min.js public/assets/js/custom-switcher.min.js as shown
below
javascript
function localStorageBackup2() {}Step2:
To remove complete LocalStorage saving you need to remove
all localstorage related calling functions like localStorage.setItem,
localStorage.removeItem, localStorage.getItem,
localStorage.clear in
custom-switcher.min.js
public/assets/js/custom-switcher.min.js file.Below are the some examples to find out.
javascript
localStorage.setItem( );
localStorage.removeItem( );
localStorage.getItem( )
localStorage.clear();
localStorageBackup();Step3:
To remove complete LocalStorage saving you also need to remove
main.js link present in styles.php Path:app/Views/layouts/components/styles.php as shown below
html
<!-- Main Theme Js -->
<script src="<?php echo base_url('assets/js/main.js'); ?>"></script>
Step1:
To remove switcher path remove below code shown in main.php app/views/layouts/main.php file
html
<!-- Start::main-switcher -->
<?= $this->include('layouts/components/switcher'); ?>
<!-- End::main-switcher -->Step2:
After removing switcher path in main.php page then change main-header to main-header1 for switcher icon code shown below in main.php page
html
Before :
<!-- Start::main-header -->
<?= $this->include('layouts/components/main-header'); ?>
<!-- End::main-header -->
After :
<!-- Start::main-header -->
<?= $this->include('layouts/components/main-header1'); ?>
<!-- End::main-header -->Step3:
Go to root path: app/views/layouts/components/scripts.php open "scripts.php" file and then remove the"custom-switcher.min.js" link as shown below.
html
Remove Switcher Script :
<!-- Custom-Switcher JS -->
<script src="<?php echo base_url('assets/js/custom-switcher.min.js'); ?>"></script>Step4:
Finally uncomment below shown code in custom.js file Path:assets/js/custom.js
javascript
/* header theme toggle */
function toggleTheme() {
let html = document.querySelector("html");
}
let layoutSetting = document.querySelector(".layout-setting");
layoutSetting.addEventListener("click", toggleTheme);
/* header theme toggle */Step1:
To remove switcher path remove below code shown in landing-main.php app/views/layouts/landing-main.php file
javascript
<!-- Start::main-switcher -->
<?= $this->include('layouts/components/landingpage/switcher'); ?>
<!-- End::main-switcher -->Step2:
After removing switcher path in landing-main.php page then change main-header to main-header1 for switcher icon code shown below in landing-main.php page
javascript
Before :
<!-- Start::main-header -->
<?= $this->include('layouts/components/landingpage/main-header'); ?>
<!-- End::main-header -->
After :
<!-- Start::main-header -->
<?= $this->include('layouts/components/landingpage/main-header1'); ?>
<!-- End::main-header -->Step3:
Now then change main-sidebar to main-sidebar1 for switcher icon code shown below in landing-main.php page
html
Before :
<!-- Start::main-sidebar -->
<?= $this->include('layouts/components/landingpage/main-sidebar'); ?>
<!-- End::main-sidebar -->
After :
<!-- Start::main-sidebar -->
<?= $this->include('layouts/components/landingpage/main-sidebar1'); ?>
<!-- End::main-sidebar -->Please follow the below steps to change Primary Color
Step 1 :
To change Primary Color you have to open _variables.scss file and replace what color you want as shown in below
Rootpath : _variables.scss (public/assets/scss/_variables.scss )
Note : After changing the styles, you must run the gulp command "gulp" . For more gulp commands, see the gulp page click here.
Please follow the below steps to change Dark body Color
Step 1 :
Make sure the theme is set completely to dark mode by adding the following attributes to the html tag data-theme-mode="dark" data-header-styles="dark" data-menu-styles="dark"
Step 2 :
To change Dark body Color you have to open _variables.scss file and replace what color you want as shown in below
Rootpath : _variables.scss (public/assets/scss/_variables.scss )
Step 3 :
Also Change the following variable colors to the desired theme background accordingly in [data-theme-mode="dark"]
--light-rgb : --form-control-bg : --input-border : --gray-3 :Note : After changing the styles, you must run the gulp command "gulp" . For more gulp commands, see the gulp page click here.
Credit's
NPM Plugins & Reference Links
All plugins runs through npm.
If you want new plugins : Install new plugin from npm then run
gulp command.
Icons Credit
| Icons | References |
|---|---|
| Bootstrap Icons | https://icons.getbootstrap.com/ |
| Boxicons | https://boxicons.com/ |
| Remix Icons | https://remixicon.com/ |
| Feather Icons | https://feathericons.com/ |
| Tabler Icons | https://tabler-icons.io/ |
| Line Awesome Icons | https://icons8.com/line-awesome |
| Phosphor Icons | https://phosphoricons.com/ |
Images Credit
| Images | References |
|---|---|
| Vecteezy | https://www.vecteezy.com/ |
| Iconscount | https://iconscout.com/ |
| Unsplash | https://unsplash.com/ |
| Png Tree | https://pngtree.com/ |
| flaticon | https://www.flaticon.com/authors/flat-icons |
| freepik | https://www.freepik.com |
Fonts Credit
| Font | References |
|---|---|
| Google Fonts | https://fonts.google.com/ |
Sidemenu Icons
| Icon | References |
|---|---|
| lucide Icons | https://lucide.dev/icons/ |
Switcher styles
(Root:app/Views/layouts/main.php)
html
<html lang="en" dir="ltr" data-nav-layout="vertical" data-theme-mode="light" data-header-styles="light" data-menu-styles="dark" data-width="fullwidth" data-toggled="close">html
data-theme-template="default" data-header-styles="light" data-menu-styles="dark"
html
data-theme-template="fusion" data-header-styles="transparent" data-menu-styles="light"
html
data-theme-template="modern" data-header-styles="gradient" data-menu-styles="light"
html
data-theme-template="saas" data-header-styles="transparent" data-menu-styles="dark"
html
data-theme-template="neon" data-header-styles="transparent" data-menu-styles="dark" data-width="default"
html
data-theme-template="galaxy" data-theme-mode="dark" data-header-styles="dark" data-menu-styles="dark"
html
data-theme-template="elegant" data-header-styles="transparent" data-menu-styles="dark"
html
data-theme-template="flat" data-header-styles="light" data-menu-styles="light" data-vertical-style="doublemenu"
html
data-theme-template="prism" data-header-styles="transparent" data-menu-styles="transparent"
html
data-theme-template="retro" data-header-styles="transparent" data-menu-styles="dark" data-vertical-style="detached"
html
data-theme-template="frost" data-header-styles="transparent" data-menu-styles="gradient"
html
data-theme-template="nova" data-header-styles="light" data-menu-styles="dark"
html
data-theme-mode="light" data-header-styles="light" data-menu-styles="light"
html
data-theme-mode="dark" data-header-styles="dark" data-menu-styles="dark"
html
dir="ltr"
html
dir="rtl"
html
data-nav-layout="vertical"
html
data-nav-layout="horizontal" data-nav-style="menu-click"
html
data-page-style="regular"
html
data-page-style="classic"
html
data-page-style="modern"
html
data-width="default"
html
data-width="full-width"
html
data-width="boxed"
html
data-header-position="fixed"
html
data-header-position="scrollable"
html
data-vertical-style="closed"
html
data-vertical-style="icontext"
html
data-vertical-style="overlay"
html
data-vertical-style="detached"
html
data-vertical-style="doublemenu"
html
loader="enable"
html
loader="disable"
html
data-menu-styles="light"
html
data-menu-styles="dark"
html
data-menu-styles="color"
html
data-menu-styles="gradient"
html
data-menu-styles="transparent"
html
data-header-styles="light"
html
data-header-styles="dark"
html
data-header-styles="color"
html
data-header-styles="gradient"
html
data-header-styles="transparent"
html
data-bg-img="bgimg1"
html
data-bg-img="bgimg2"
html
data-bg-img="bgimg3"
html
data-bg-img="bgimg4"
html
data-bg-img="bgimg5"