Filament Core Starter Kit
O Que É
O Filament Core Starter Kit é um template Laravel hospedado no GitHub que integra Laravel 12, Filament 4 e os módulos Filament Core (Invoices, People, Communications) em um projeto pré-configurado e pronto para uso.
Como Funciona
Use o Laravel Installer com a flag --using para criar um projeto a partir do template:
laravel new my-new-project --git --pest --using=aronpc/filament-core-starter-kitIsso clona o template do GitHub, instala as dependências e cria um projeto Laravel completo com:
- ✅ Laravel 12 configurado
- ✅ Filament 4 instalado
- ✅ Módulos Filament Core prontos (Invoices, People, Communications)
- ✅ Migrações pré-configuradas
- ✅ Interface administrativa pronta
- ✅ Testes configurados (Pest ou PHPUnit)
Objetivo
Acelerar o desenvolvimento de aplicações SaaS que precisam de:
- Gestão de pessoas (físicas/jurídicas com validação de CPF/CNPJ)
- Sistema de faturamento (invoices, impostos, PDF)
- Comunicações multicanal (Email, SMS, WhatsApp)
Filosofia
Contracts-First
Todos os módulos seguem uma arquitetura contracts-first:
filament-core-contracts ← Interfaces, DTOs, Events
├── filament-core-invoices ← Implementa PaymentInterface
├── filament-core-people ← Implementa PersonInterface
└── filament-core-communications ← Implementa NotificationInterfaceMódulos se comunicam apenas via eventos, sem dependências diretas entre si.
Event-Driven
Comunicação entre módulos acontece através de eventos Laravel:
PersonCreated,PersonUpdated,PersonDeletedInvoiceCreated,InvoicePaid,InvoiceCancelledCommunicationSent,CommunicationFailed
Modular
Habilite/desabilite módulos via .env:
FILAMENT_MODULE_INVOICES=true
FILAMENT_MODULE_PEOPLE=true
FILAMENT_MODULE_COMMUNICATIONS=false # DesabilitadoEscopo
Autenticação e Painel
- ✅ Filament 4 com tema padrão
- ✅ Layouts responsivos
- ✅ Sistema de autenticação completo
- ✅ Roles e permissões (super-admin, admin, manager, user)
Integração com Contracts
- ✅ Bindings no Laravel Container
- ✅ Service Providers registrados automaticamente
- ✅ Interfaces implementadas pelos módulos
Módulos Plugáveis
Todos os módulos vêm pré-instalados, mas podem ser desabilitados:
Invoices:
- Faturamento completo
- Cálculo de impostos (ICMS, PIS, COFINS, ISS)
- Geração de PDF
- Numeração automática
People:
- Gestão de pessoas físicas e jurídicas
- Validação de CPF/CNPJ
- Múltiplos contatos e endereços
- Papéis personalizáveis
Communications:
- Email, SMS, WhatsApp
- Templates de mensagens
- Histórico completo
- Drivers plugáveis
Dados de Desenvolvimento
- ✅ Seeders prontos para popular banco de dados
- ✅ Factories para testes
- ✅ Dados de exemplo
DevOps
- ✅ GitHub Actions pré-configurado
- ✅ Testes automatizados
- ✅ Lint e formatação de código
- ✅ Deploy configurado (Forge, Vapor)
Observabilidade
- ✅ Logs estruturados
- ✅ Integração com Sentry (opcional)
- ✅ Laravel Telescope (dev/staging)
- ✅ Health checks
Dependências Principais
Core
- PHP 8.3+
- Laravel 12
- Filament 4
- Spatie Laravel Data - Para objetos de dados type-safe
Banco de Dados
- MySQL 8.0+ ou PostgreSQL 13+ ou SQLite 3.35+
Recomendado para Produção
- Redis 6.0+ - Cache e queues
Instalação Rápida
# 1. Instalar Laravel Installer
composer global require laravel/installer
# 2. Criar projeto com o template
laravel new my-new-project --git --pest --using=aronpc/filament-core-starter-kit
# 3. Configurar
cd my-new-project
cp .env.example .env
php artisan key:generate
# 4. Banco de dados
php artisan migrate
# 5. Criar admin
php artisan make:filament-user
# 6. Acessar
php artisan serve
# http://localhost:8000/adminVeja o guia completo de instalação →
Documentação Completa
Primeiros Passos
Instalação - Guia completo de instalação do Starter Kit
- Requisitos do sistema (PHP 8.3+, Composer, Node.js, MySQL/PostgreSQL)
- Laravel Installer com
--using - Configuração inicial (banco de dados, storage, assets)
- Criação do primeiro usuário admin
- Troubleshooting e verificação da instalação
Primeiros Passos - Começando a usar o Starter Kit
- Acessar o painel administrativo
- Entender a estrutura do painel
- Criar seus primeiros registros (Person, Invoice, Communication)
- Customizar o projeto (nome, logo, cores)
- Desenvolvimento básico com Filament
- Trabalhar com eventos e testes
Guias Principais
Estrutura do Projeto - Organização de diretórios e arquivos
- Visão geral da estrutura Laravel
- Diretórios principais:
app/,config/,database/,resources/ - Filament Resources e Widgets
- Modelos e Services
- Onde adicionar código customizado
- Convenções de nomenclatura
Configuração - Variáveis de ambiente e configurações
- Arquivo
.envcompleto com todas as variáveis - Configurações por módulo (Invoices, People, Communications)
- Configuração de banco de dados (MySQL, PostgreSQL, SQLite)
- Cache, sessões e filas (Redis recomendado)
- Email (SMTP, Mailgun, SES, SendGrid)
- Storage (local, S3, DigitalOcean Spaces)
- Exemplos por ambiente (desenvolvimento, staging, produção)
- Arquivo
Funcionalidades - Recursos incluídos no Starter Kit
- People Management: Gestão de pessoas físicas/jurídicas, validação de documentos
- Invoices: Faturamento completo, cálculo de impostos, numeração automática
- Communications: Envio multicanal (Email, SMS, WhatsApp), templates
- Autenticação e autorização (roles e permissions)
- Dashboard e widgets
- Importação e exportação de dados
- Auditoria e logs
- Notificações
Avançado
Extensões - Como estender e customizar o sistema
- Criar novos módulos (exemplo completo de Tasks)
- Customizar módulos existentes
- Integrar APIs externas (CEP, pagamentos)
- Criar actions customizadas
- Adicionar middleware
- Comandos Artisan customizados
- Personalizar tema do Filament
Deploy - Colocar o projeto em produção
- Checklist pré-deploy
- Preparação do código (otimizações, cache)
- Laravel Forge (recomendado)
- Laravel Vapor (serverless)
- DigitalOcean App Platform
- VPS manual (Ubuntu, Nginx, Supervisor)
- SSL com Certbot
- Monitoramento e logs (Sentry, Telescope, Uptime Robot)
- Backup e rollback
Estrutura do Repositório Template
aronpc/filament-core-starter-kit/
├── app/
│ ├── Filament/
│ │ ├── Resources/
│ │ │ ├── PersonResource.php
│ │ │ ├── InvoiceResource.php
│ │ │ └── CommunicationResource.php
│ │ └── Widgets/
│ ├── Models/
│ ├── Services/
│ └── Providers/
├── config/
│ └── filament-core.php
├── database/
│ ├── migrations/
│ ├── seeders/
│ └── factories/
├── composer.json # Já inclui filament-core/* packages
└── .env.example # Pré-configuradoPróximos Passos
- ✅
Definir blueprint de instalação (composer create-project / cli próprio)- Concluído - ✅
Publicar documentação de setup dentro de- Concluídodocs/starter-kit/cobrindo variáveis de ambiente e registros de webhooks - Integrar testes de ponta a ponta que validem os fluxos de faturamento, cadastro de pessoas e disparo de comunicações
- Preparar exemplos de extensões (drivers customizados, novos canais) alinhados aos contratos existentes