An open API service indexing awesome lists of open source software.

https://github.com/riodwanto/superduper-filament-starter-kit

A FilamentπŸ’‘ starter point to kickstart your app. With Custom Theme, Mail Configuration, Filament Shield, Filament Exception, etc..
https://github.com/riodwanto/superduper-filament-starter-kit

filament filamentphp laravel starter starterkit

Last synced: about 1 month ago
JSON representation

A FilamentπŸ’‘ starter point to kickstart your app. With Custom Theme, Mail Configuration, Filament Shield, Filament Exception, etc..

Awesome Lists containing this project

README

          


Starter kit logo

[![Latest Version on Packagist](https://img.shields.io/packagist/v/riodwanto/superduper-filament-starter-kit.svg?style=flat-square)](https://packagist.org/packages/riodwanto/superduper-filament-starter-kit)
[![Laravel](https://github.com/riodwanto/superduper-filament-starter-kit/actions/workflows/laravel.yml/badge.svg)](https://github.com/riodwanto/superduper-filament-starter-kit/actions/workflows/laravel.yml)
[![Total Downloads](https://img.shields.io/packagist/dt/riodwanto/superduper-filament-starter-kit.svg?style=flat-square)](https://packagist.org/packages/riodwanto/superduper-filament-starter-kit)


A starting point to create your next Filament 3 πŸ’‘ app. With pre-installed plugins, pre-configured, and custom page. So you don't start all over again.

#### ✨ Features

- πŸ›‘οΈ **User & Access Management**
- [Filament Shield](#plugins-used) for comprehensive role-based access control
- πŸ‘₯ Multiple user roles with granular permissions
- πŸ” Secure authentication workflows

- πŸ‘€ **Profile & User Experience**
- πŸ‘¨πŸ»β€πŸ¦± Customizable profile page from [Filament Breezy](#plugins-used)
- πŸŒ™ Dark/light mode switching
- 🎭 Personalized user dashboard

- 🎨 **Theme & UI Customization**
- πŸ–ΌοΈ Theme settings for panel colors and layout preferences
- 🧩 Modular design for easy extension
- 🎚️ Responsive interface for all devices

- 🌐 **Content Management**
- πŸ“ Blog module with categories and tags
- πŸ–ΌοΈ Banner management system
- πŸ“… Event scheduling capabilities

- πŸ“Š **Media Management**
- 🌌 Complete media library with [Filament Spatie Media](#plugins-used)
- πŸ–ΌοΈ Image optimization and thumbnails
- πŸ“‚ Easy upload and organization

- 🌍 **Localization & Translation**
- πŸ…» Powerful Lang Generator tool
- πŸ”„ Automated translation capabilities
- 🌐 Multi-language support for global applications

- πŸ“§ **Email & Notifications**
- πŸ’Œ Configure mail settings on the fly
- πŸ“¨ Customizable email templates
- πŸ”” User notification system

- πŸ”§ **System Configuration**
- βš™οΈ Frontend web settings (Site Name, Scripts, etc.)
- πŸ“ Log viewer and error tracking
- 🧰 Developer-friendly tools

- πŸ” **SEO & Analytics**
- πŸ”Ž Comprehensive SEO settings and optimization
- πŸ“ˆ Laravel Trend integration for data visualization
- πŸ“Š Traffic and user analytics

- πŸ› οΈ **Developer Experience**
- ⚑ Optimized performance out of the box
- πŸ“ Code editor integration
- πŸ§ͺ Testing tools and infrastructure

#### Latest update

##### Version: v1.19.0

- User impersonation feature for admins
- Contact Us stats dashboard widget
- Blog module improvements (stats, author filtering, status tracking)
- Enhanced menu builder with more locations and configuration
- Clustered site settings and new site editor page
- Improved site logo functionality
- Updated panel footer and various UI/UX enhancements
- Improved security headers, new middleware, and log channels
- Enhanced afterSave hooks and visibility suffix actions
- Updated translations and language generator improvements
- Various bug fixes and styling improvements

[Version Releases](https://github.com/riodwanto/superduper-filament-starter-kit/releases)

#### Getting Started

Create project with this composer command:

```bash
composer create-project riodwanto/superduper-filament-starter-kit
```

Setup your project easily using the one of setup scripts:

```bash
php bin/setup.php
```

Or manually:

Setup your env:

```bash
cd superduper-filament-starter-kit
cp .env.example .env
```

Run migration & seeder:

```bash
php artisan migrate
php artisan db:seed
```

or

```bash
php artisan migrate:fresh --seed
```

Generate Shield permissions & policies:

```bash
php artisan shield:generate --all
```

One Liner:

```bash
php artisan migrate && php artisan db:seed && php artisan shield:generate --all

[Important] Bind permissions to roles:

```bash
php artisan db:seed --class=PermissionsSeeder
```

Generate key:

```bash
php artisan key:generate
```

Storage Link:

```bash
php artisan storage:link
```

Install dependencies:

```bash
npm install
```

Build :

```bash
npm run dev
OR
npm run build
```

Start development server:

```bash
php artisan serve
```

Now you can access with `/admin` path, using:

```bash
email: superadmin@starter-kit.com
password: superadmin
```

#### Performance

*It's recommend to run below command as suggested in [Filament Documentation](https://filamentphp.com/docs/3.x/panels/installation#improving-filament-panel-performance) for improving panel perfomance.*

```bash
php artisan icons:cache
```

Please see this [Improving Filament panel performance](https://filamentphp.com/docs/3.x/panels/installation#improving-filament-panel-performance) documentation for further improvement

#### Language Generator

This project include lang generator.

```bash
php artisan superduper:lang-translate [from] [to]
```

Generator will look up files inside folder `[from]`. Get all variables inside the file; create a file and translate using `translate.googleapis.com`.

This is what the translation process looks like.

```bash
❯ php artisan superduper:lang-translate en fr es

πŸ”” Translate to 'fr'
3/3 [β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“] 100% -- βœ…

πŸ”” Translate to 'es'
1/3 [β–“β–“β–“β–“β–“β–“β–“β–“β–“β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘] 33% -- πŸ”„ Processing: page.php
```

##### Usage example

- Single output

```bash
php artisan superduper:lang-translate en fr
```

- Multiple output

```bash
php artisan superduper:lang-translate en es ar fr pt-PT pt-BR zh-CN zh-TW
```

###### If you are using json translation

```bash
php artisan superduper:lang-translate en fr --json
```

#### Plugins

These are [Filament Plugins](https://filamentphp.com/plugins) use for this project.

| **Plugin** | **Author** |
| :-------------------------------------------------------------------------------------------------- | :-------------------------------------------------- |
| [Filament Spatie Media Library](https://github.com/filamentphp/spatie-laravel-media-library-plugin) | [Filament Official](https://github.com/filamentphp) |
| [Filament Spatie Settings](https://github.com/filamentphp/spatie-laravel-settings-plugin) | [Filament Official](https://github.com/filamentphp) |
| [Filament Spatie Tags](https://github.com/filamentphp/spatie-laravel-tags-plugin) | [Filament Official](https://github.com/filamentphp) |
| [Shield](https://github.com/bezhanSalleh/filament-shield) | [bezhansalleh](https://github.com/bezhansalleh) |
| [Exceptions](https://github.com/bezhansalleh/filament-exceptions) | [bezhansalleh](https://github.com/bezhansalleh) |
| [Breezy](https://github.com/jeffgreco13/filament-breezy) | [jeffgreco13](https://github.com/jeffgreco13) |
| [Logger](https://github.com/z3d0x/filament-logger) | [z3d0x](https://github.com/z3d0x) |
| [Ace Code Editor](https://github.com/riodwanto/filament-ace-editor) | [riodwanto](https://github.com/riodwanto) |
| [Filament media manager](https://github.com/tomatophp/filament-media-manager) | [tomatophp](https://github.com/tomatophp) |
| [Filament Menu Builder](https://github.com/datlechin/filament-menu-builder) | [datlechin](https://github.com/datlechin) |

#### Plugins Recommendation

Other recommendations for your starter, in my personal opinion:

- [Rupadana - API Resources](https://filamentphp.com/plugins/rupadana-api-service) : Generate API for your Resources.
- [Bezhan Salleh - Language Switch](https://filamentphp.com/plugins/bezhansalleh-language-switch) : Zero config Language Switcher plugin for Filament Panels.
- [Kenepa - Resource Lock](https://filamentphp.com/plugins/kenepa-resource-lock) : Resource locking when other user begins editing a resource.
- [Ralph J. Smit - Components](https://filamentphp.com/plugins/ralphjsmit-components) : A collection of handy components.
- [Tapp Network - Laravel Auditing](https://filamentphp.com/plugins/tapp-network-laravel-auditing) : Auditing package which contains a relation manager for audits that you can add to your resources.
- [Shuvro Roy - Spatie Laravel Health](https://filamentphp.com/plugins/shuvroroy-spatie-laravel-health) : Health monitoring for Filament.

Buy Me A Coffee

### License

Filament Starter is provided under the [MIT License](LICENSE.md).

If you discover a bug, please [open an issue](https://github.com/riodwanto/superduper-filament-starter-kit/issues).