jeddsaliba/filament-one

Filament One is a flexible starter kit for building scalable admin dashboards with essential features, security, and modern PHP practices for a smooth development experience.


README

Filament One is a powerful and flexible starting point for building robust and scalable admin dashboards. This boilerplate is designed to help developers quickly set up an admin panel with essential features, security measures, and user-friendly management tools.

Built using FilamentPHP, it leverages modern PHP development practices to ensure a smooth and efficient experience.

GitHub stars GitHub issues License PHP Version Laravel Version Filament Version

Key Features:

  • User Management: Easily manage user accounts, including registration, profile updates, and deletion.
  • Multi-Factor Authentication (MFA): Enhance security with optional two-factor authentication for user accounts.
  • API Keys Management: Enable secure storage and management of API keys and credentials, facilitating seamless integration with internal and third-party APIs.
  • User Roles & Permissions: Implement role-based access control (RBAC) to ensure users have the right level of access.
  • Messages: Provides an easy-to-use interface for real-time messaging within Filament admin panels.
  • Export Reports: Generate and export reports in Excel (.xlsx) or CSV formats for data analysis and record-keeping.
  • Page Builder: A drag-and-drop interface that allows users to create, customize, and manage pages effortlessly. Supports various content blocks, real-time preview, and responsive design to ensure a seamless experience across devices.

Why Choose Filament One?

  • Time-Saving: Get started quickly with a ready-to-use admin panel instead of building from scratch.
  • Scalability: Designed to be easily extendable, allowing you to add more features as needed.
  • Security Focused: Built-in security features like MFA and role-based permissions to protect user data.
  • User-Friendly: Clean UI and intuitive navigation for a seamless admin experience.
  • Open & Customizable: Modify and extend the boilerplate according to your project’s requirements.

Table of Contents

Getting Started
Setup Local Environment
Database
Generate Filament Shield Permissions
Create Administrator Account
Generate Test Data
Initialize The Application
Troubleshooting
Plugins Used
Acknowledgments
Support

Getting Started

Create a new project using this command:

composer create-project jeddsaliba/filament-one

Install the dependencies by running the following commands:

composer install
npm install

Setup Local Environment

Generate a new .env file by running:

cp .env.example .env

Configure the APP_URL in your .env file:

APP_URL=http://localhost

Configure the MySQL connection in your .env file:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=

or if you're using PostgreSQL:

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=

Configure the Mailer in your .env file:

MAIL_MAILER=smtp
MAIL_SCHEME=
MAIL_HOST=
MAIL_PORT=2525
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_FROM_ADDRESS=
MAIL_FROM_NAME=

Database

Assuming that you have already created an empty database, run this command to migrate the database tables:

php artisan migrate

Generate Filament Shield Permissions

In order to generate filament shield permissions, run this command:

php artisan shield:generate --all

Create Administrator Account

In order to create an administrator account, run this command:

php artisan shield:super-admin

Generate Test Data

You may also run this command in order to populate the database with test data:

php artisan db:seed

Initialize The Application

In order to start the application, use any of the following commands:

npm run dev

or

php artisan serve

Troubleshooting

  1. If the css and js for the custom page are not working, please run this command:
npm run build

Plugins Used

These are Filament Plugins use for this project.

Plugin Author
Ace Editor Rio Dewanto P
ActivityLog Rômulo Ramos
Breezy Jeff Greco
Comments Parallax
Date Range Filter and Picker Majid Al Zariey
Easy Footer Alexandre
Environment Indicator Dennis Koch
Filament Spatie Media Library Filament Official
Filament Spatie Settings Filament Official
Global Search Modal Mohamed Charrafi
Grapes JS dotSwan
Impersonate Signature Tech Studio
Phone Input Yusuf Kaya
Shield Bezhan Salleh
Spatie Laravel Health Shuvro Roy

Acknowledgments

Support

Show Your Support

Give a ⭐️ if this project helped you!