ims-laravel-admin-starter
is a streamlined Admin panel & API starter application built using the powerful Laravel 10 framework and Filment 3.
Our primary focus is to provide you with a hassle-free and ready-to-use local development starter project.
Unlike traditional API generators or code generators, this project simplifies the process of setting up your local development environment. It enables you to jumpstart your Laravel-based API development and admin panel development without unnecessary complexities. This allows you to focus on building your application logic rather than spending time on initial setup.
-
Full Authentication System: Implement a robust authentication system using Laravel Jetstream package for secure user management and login functionality.
-
Role and Permission-based Authorization System: Create a flexible authorization system using the Laravel-Permission package, allowing you to define roles and permissions for fine-grained access control.
-
User Management: Manage users efficiently, including user registration, profile updates, and user roles.
-
Profile Settings: Enable users to customize their profiles, including personal information and preferences.
-
Multiple Language Support: Make your application accessible to a global audience with the help of Filament Translations and Laravel Lang packages for multilingual support.
-
Theme Customization: Customize the application's appearance and user interface using the power of Tailwind CSS to create visually appealing designs.
-
Docker Support: Easily deploy and manage your application in a Docker container with the convenience of Laravel Sail for streamlined development and deployment workflows.
- Node 16+
- PHP version 8.1+
- MYSQL version 8.0+
-
Choose Your Local Development Tool:
Select your preferred local development tool, such as Laragon, XAMPP, WAMP, or any other tool that suits your needs.
-
Configure Your Environment:
Update your
.env
file with the correct database credentials. -
Install Dependencies:
Run the following command to install required dependencies using Composer:
composer install
Run the following command to install required dependencies using npm and build them:
npm install npm run build
-
Migrate and Seed the Database: Initialize and seed the database with default data using:
php artisan migrate --seed
Now, your project is ready for use. You can access the admin panel via the provided route. If you've run the seed command, log in with the provided credentials. Customize and expand your application as needed.
Once you have set up the Project using the provided instructions, you can access the admin panel by visiting the /admin
route in your web browser.
If you have run the seed command during the setup process, you can log in using the following credentials:
email: superadmin@ims.com
password: 123456
email: admin@ims.com
password: 123456
The ims-laravel-admin-starter
supports role and permission-based operations to control access to various functionalities within your admin panel. You can define roles with specific permissions and assign them to users as needed.
Explore this project and experience the convenience of a ready-made local development environment for your Laravel-based APIs and Admin Panels.
Elevate the accessibility and user-friendliness of this Starter Project by embracing multiple languages. With the assistance of Filament Translations and the Laravel Lang package, this Starter Project offers comprehensive multilingual support.
For a detailed guide on working with multiple languages and translations, visit our dedicated wiki page.
Unlock a world of possibilities with seamless language localization, ensuring your application resonates with a global audience.
For a more comprehensive guide, please visit the WIKI page on GitHub:
Running the Application with Docker and Laravel Sail - Wiki
This detailed resource provides step-by-step instructions and additional information to ensure a smooth experience when setting up and running your application with Docker and Laravel Sail.
To ensure the reliability and correctness of your application, it's essential to execute tests. Follow these simple steps:
-
Create a Separate Test Database:
Start by creating a dedicated test database for your application. You can name it
ims-admin-testing
to keep it distinct from your production database.If you're using Docker and Laravel Sail, you can skip this step and instead update the phpunit.xml file to add a testing database:
<env name="DB_DATABASE" value="testing"/>
-
Run Tests:
You have two convenient options for running tests:
-
Using Pest:
Execute tests with Pest, a delightful PHP testing framework. Simply run the following command:
./vendor/bin/pest
If you are running with Sail, you can use this command:
./vendor/bin/sail test # or if you have an alias configured: sail test
-
Using Artisan:
Laravel's Artisan command-line tool provides seamless testing capabilities. Run the tests with the following Artisan command:
php artisan test
If you are running Sail, you can use this command:
./vendor/bin/sail artisan test # or if you have an alias configured: sail artisan test
-
Running tests is crucial to ensure the reliability and correctness of your application's functionality. The above commands will initiate the testing process and provide you with valuable insights into the quality of your codebase.
Some Performance Tips for Filament
To optimize the performance of the Filament app, you can use the php artisan icons:cache
command to cache icons. This command preloads and caches the icons used in your application, resulting in faster load times.
php artisan icons:cache
If you're experiencing performance issues and want to speed up your application, consider disabling the view collection feature in the Debugbar. Here's how you can do it:
-
Navigate to the
debugbar.php
configuration file located in theconfig
directory of your app. -
Inside the
debugbar.php
file, you'll find an array namedcollectors
. Locate the'views'
collector within this array. -
To disable the view collection, simply set the
'views'
collector tofalse
, like this:
'collectors' => [
...
'views' => false, // Views with their data
],
This change will prevent the Debugbar from collecting and displaying view data, which can help improve the performance of your application, particularly in a development environment.
This project provides additional Artisan commands to simplify your workflow and enhance productivity.
Generate general IDE helper files for improved code autocompletion and navigation by running:
php artisan ide-helper:generate
Generate IDE model helper files without writing to model files using:
#use any one of this two commands
php artisan ide-helper:models -N
php artisan ide-helper:models --nowrite
php artisan csfixer:run
This command ensures that your code adheres to the predefined coding standards, making your codebase clean and readable.
Creating services for your application is made effortless. Use the following command to generate a service:
php artisan make:service subfolder/ServiceName
Replace subfolder and ServiceName with the actual values you need. You can also create a service without a subfolder:
php artisan make:service TestService
The newly created service will be located at app/Http/Services/TestService.php
, ready to handle your application's business logic.
Traits are reusable code components that enhance code organization. To create a new trait, simply run:
php artisan make:trait TestTrait
This command generates a new trait file for your project, promoting code reusability and maintainability.
Leverage these Artisan commands to streamline your development process and maintain a well-structured codebase.
This project is brought to you by Innovix Matrix System and is released as open-source software under the MIT license.
Feel free to use, modify, and distribute this starter project in accordance with the MIT license terms. We encourage collaboration and welcome contributions from the community to make this project even better.