AuthoBook Management System
Book authentication and management system built with Laravel 10 and Filament admin panel
Share this project:
Project Overview
AuthBook Laravel 10 with Filament
A comprehensive book authentication and management system built with Laravel 10 and Filament admin panel. This project serves as a learning example for implementing modern admin panels with Filament in Laravel applications, created for the Web Programming (PBW) class.
📋 Overview
AuthBook is a full-featured book management system that demonstrates the integration of Laravel 10 with Filament admin panel. The project showcases best practices in building CRUD (Create, Read, Update, Delete) applications with authentication, authorization, and a modern admin interface.
✨ Features
-
User Authentication & Authorization
- Secure login/logout system
- Role-based access control
- User profile management
-
Book Management
- Complete CRUD operations for books
- Book categorization and tagging
- Advanced search and filtering
- Bulk actions support
-
Modern Admin Panel (Filament)
- Beautiful, responsive UI
- Customizable dashboard
- Resource management
- Form builders and tables
- Notifications and widgets
-
Database Management
- MySQL database integration
- Eloquent ORM relationships
- Database migrations and seeders
🛠️ Technologies Used
- Framework: Laravel 10
- Admin Panel: Filament v3
- Language: PHP 8.1+
- Database: MySQL
- Frontend: Livewire, Alpine.js, Tailwind CSS
- Authentication: Laravel Breeze/Sanctum
📁 Project Structure
authbook-laravel-filament/
├── app/
│ ├── Filament/ # Filament resources
│ ├── Models/ # Eloquent models
│ └── Policies/ # Authorization policies
├── database/
│ ├── migrations/ # Database migrations
│ └── seeders/ # Database seeders
├── resources/
│ └── views/ # Blade templates
├── routes/
│ └── web.php # Web routes
└── config/
└── filament.php # Filament configuration
🚀 Getting Started
Prerequisites
- PHP 8.1 or higher
- Composer
- MySQL 5.7+ or MariaDB
- Node.js & NPM (for asset compilation)
Installation Steps
-
Clone the repository
git clone <repository-url> cd authbook-laravel-filament -
Install PHP dependencies
composer install -
Install Node dependencies
npm install -
Environment Setup
cp .env.example .env php artisan key:generate -
Configure Database
- Create a MySQL database
- Update
.envfile:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=authbook_db DB_USERNAME=root DB_PASSWORD=your_password -
Run Migrations & Seeders
php artisan migrate --seed -
Create Admin User
php artisan make:filament-userFollow the prompts to create your admin account
-
Build Assets
npm run dev -
Start Development Server
php artisan serve -
Access the Application
- Frontend:
http://localhost:8000 - Admin Panel:
http://localhost:8000/admin
- Frontend:
💻 Usage
Accessing Admin Panel
- Navigate to
http://localhost:8000/admin - Login with your admin credentials created earlier
- Access the dashboard to manage books and users
Managing Books
- Click on "Books" in the admin sidebar
- Use "New Book" button to add books
- Fill in book details (title, author, ISBN, description, etc.)
- Click "Create" to save
User Management
- Access "Users" from the admin panel
- View, edit, or delete users
- Assign roles and permissions
🎓 Learning Objectives
This project demonstrates:
- Filament Integration: How to integrate and customize Filament admin panel
- Resource Management: Creating Filament resources for CRUD operations
- Authentication: Implementing secure user authentication
- Authorization: Role-based access control
- Database Relationships: Eloquent relationships and migrations
- Modern PHP: Latest PHP 8.1+ features and Laravel best practices
📚 Filament Resources
The project includes example Filament resources for:
- Book management
- User administration
- Category management
- Dashboard widgets
🔧 Configuration
Filament Customization
Edit config/filament.php to customize:
- Brand name and logo
- Color scheme
- Navigation items
- Middleware and guards
Database Seeders
The project includes seeders for:
- Sample books
- Demo users
- Categories and tags
Run seeders with:
php artisan db:seed
🤝 Contributing
This project is used for educational purposes in the Web Programming class. Contributions to improve the examples and documentation are welcome!
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
📄 License
This project is open source and available for educational purposes.
📖 Resources
📞 Contact
For questions about this learning project, please contact through the information available in my portfolio.