Install - Application files

The admin panel's project structure is thoughtfully organized within the default working folder, located at app/Admin in your Laravel application. This structure is designed to facilitate easy navigation and management of the admin panel's components, enhancing the overall development experience.

Project File Structure

Below is an overview of the admin panel's project file system structure:

app/Admin/
	Controllers/
	Delegates/
		Alert.php
		Buttons.php
		Card.php
		CardBody.php
		ChartJs.php
		Column.php
		CommonTrait.php
		Form.php
		Modal.php
		ModalBody.php
		ModelInfoTable.php
		ModelRelation.php
		ModelTable.php
		Nested.php
		SearchForm.php
		SmallBox.php
		StatisticPeriod.php
		Tab.php
		Table.php
		Timeline.php
	Config.php
	Navigator.php
app/Providers/
	AdminServiceProvider.php
database/migrations/
	2020_01_01_000000_create_table_admin_users.php
	2020_01_01_000001_create_table_admin_roles.php
	2020_01_01_000002_create_table_admin_role_user.php
	2020_01_01_000005_create_table_admin_file_storage.php
	2020_01_01_000006_create_table_admin_permission.php
	2021_12_10_165136_create_table_admin_log.php
	2022_03_25_205530_create_table_admin_menu.php
	2022_04_10_193630_create_table_admin_settings.php
public/
	admin/
	admin-asset/
lang/
	en/admin.php
	ru/admin.php
	uk/admin.php
bootstrap/
	admin_extensions.php
  • app/Admin/: The core directory housing the admin panel's project files.
  • Controllers/: Contains custom controller files for managing application logic.
  • Delegates/: Includes various delegate classes that encapsulate specific functionalities such as UI components and form handling.
  • Config.php: The main configuration file for the admin panel settings.
  • Navigator.php: Manages navigation within the admin panel.
  • app/Providers/AdminServiceProvider.php: The service provider for the admin panel, responsible for its registration and bootstrapping.
  • database/migrations/: Contains migration files for setting up the admin panel's database schema.
  • public/admin/: Contains static assets for the admin panel.
  • public/admin-asset/: Additional assets for the admin interface.
  • lang/: Localization files for supporting multiple languages in the admin panel.
  • bootstrap/admin_extensions.php: A bootstrap file for loading admin panel extensions.

This structured approach to organizing the admin panel's files ensures that developers can efficiently manage and extend the functionality of the admin panel. By familiarizing yourself with this structure, you can effectively navigate the admin panel's components and customize them to fit the needs of your application.

Media files

The admin panel extension is designed to seamlessly integrate with a wide array of third-party JavaScript libraries, enhancing the functionality and user experience of the admin interface. These libraries play a crucial role in providing dynamic content, interactive UI components, and advanced features within the admin panel.

Storage and Accessibility

All third-party JavaScript libraries supported by the extension are stored within the project's public directory, specifically in the following locations:

  • public/admin: This directory serves as the primary repository for the JavaScript libraries utilized by the admin panel. It houses essential scripts that enable various functionalities and interactive elements within the interface.

  • public/admin-assets: An additional storage location for admin-related assets. This directory may include CSS files, additional JavaScript libraries, images, and other resources required for the visual and functional enhancement of the admin panel.

Automatic Publication

Upon the installation of the admin panel extension, these media files are automatically published to the designated directories mentioned above. This process ensures that all necessary assets are readily available for the admin panel to function correctly without requiring manual intervention from the developer.

This automatic publication mechanism simplifies the setup process, allowing developers to focus on building and customizing the admin panel to meet their application's needs. By leveraging these third-party libraries, the admin panel can offer a rich, interactive user experience right out of the box.

Publishing Resources

To further customize and extend the functionality of your admin panel, Laravel's artisan command-line tool allows you to publish various resources included with the admin panel extension. Publishing these resources to your application's directories enables you to modify them according to your project's requirements. Below are the commands to publish different sets of resources:

Admin Configuration

To publish the admin panel's configuration files, which allow you to customize settings such as themes, permissions, and more, use the following command:

php artisan vendor:publish --tag=admin-config

This command copies the configuration files to your application's config directory, making it easy to adjust the admin panel's settings.

Admin Languages

For multilingual support, you can publish the language files using:

php artisan vendor:publish --tag=admin-lang

This makes the admin panel's language files available in your application's lang directory, allowing you to add or modify translations as needed.

Admin Assets

To publish the admin panel's assets, including JavaScript libraries, CSS stylesheets, and images, use:

php artisan vendor:publish --tag=admin-assets

These assets are copied to your application's public directory, enabling you to customize the look and feel of the admin interface.

Admin Migrations

For database setup and migrations, publish the admin panel's migration files with:

php artisan vendor:publish --tag=admin-migrations

This command copies the migration files to your application's database/migrations directory, facilitating the creation of necessary database tables.

Admin LTE Template HTML

To offer a foundational starting point for customization, the admin panel extension includes a command to publish a clean, unbound HTML template of the AdminLTE theme. This template serves as an illustrative example, showcasing the potential layout and structure for your admin panel's interface. To access this template, use the command:

php artisan vendor:publish --tag=admin-html

Upon execution, this command publishes a standalone HTML file to your application, typically within a designated directory in your resources or public folder, depending on the extension's configuration. This file is intended to provide a visual and structural reference, enabling developers to explore design possibilities or to integrate and adapt sections of the template into their custom admin panel designs.

This HTML template does not directly influence or integrate with the admin panel's functioning out-of-the-box. Instead, it is provided as a convenient blueprint for developers looking to craft a custom interface or to understand the AdminLTE theme's capabilities better. You can use this template as a basis for creating your own unique admin panel layouts, tailoring the design to fit the specific needs and branding of your application.