A simple, minimalistic image gallery application built with Laravel 12, showcasing the integration of Filament for an intuitive administration panel, and Spatie Media Library for robust media management.
- Image Upload & Management: Easily upload, categorize, and manage your images through a user-friendly administration interface.
- Intuitive Admin Panel: Powered by Filament PHP, providing a beautiful and efficient dashboard for all your gallery management needs.
- Efficient Media Handling: Leverages Spatie Media Library for reliable and optimized storage and retrieval of image files.
- Modern UI with Tailwind CSS: A clean, responsive, and visually appealing front-end built with Tailwind CSS, ensuring a great user experience on any device.
- Simple & Minimalistic Design: Focuses on presenting your images beautifully without unnecessary clutter.
This project highlights the seamless integration and power of the following technologies:
- Laravel 12: The robust and elegant PHP framework providing the foundation for the application.
- Filament: A TALL stack admin panel for Laravel, offering a rapid development experience for the gallery's backend. It simplifies the creation of forms, tables, and pages for managing images and other data.
- Spatie Media Library: An essential package for handling file uploads and associated media. It provides a flexible way to attach files to models, generate thumbnails, and manage conversions, making image management efficient and scalable.
- Clone the repository:
git clone <your-repository-url> cd minimalistic-image-gallery
- Install Composer dependencies:
composer install
- Copy and configure your
.envfile:Edit yourcp .env.example .env
.envfile and set your database credentials:DB_CONNECTION=mysql DB_HOST=127.0.01 DB_PORT=3306 DB_DATABASE=your_database_name DB_USERNAME=your_username DB_PASSWORD=your_password - Generate an application key:
php artisan key:generate
- Run database migrations:
php artisan migrate
- Create a symbolic link for storage (for Spatie Media Library):
(Note: On Ubuntu servers, you would typically use
php artisan storage:link
ln -s storage/app/public public/storageifphp artisan storage:linkhas issues or for manual creation.) - Run the development server:
php artisan serve
- Navigate to
http://127.0.0.1:8000(or your chosen port) in your browser to view the gallery. - Access the Filament admin panel at
http://127.0.0.1:8000/admin. You'll need to create a user to log in to the admin panel.
To create an admin user for the Filament panel via the terminal, run:
php artisan make:filament-userContributions are welcome! Please feel free to open issues or submit pull requests.
The Laravel framework is open-sourced software licensed under the MIT license.
Author: Samuel Njau
-- Notes.
-
I utlized the Laravel Avatar for dynamic user profile pictures.
-
I've had a whole table for the Icons utilized within my project to be font awesome's.
-
I have like 40+ categories of Galleries. php artisan db:seed --class=IconAndCategorySeeder