Skip to content

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:

bash
laravel new my-new-project --git --pest --using=aronpc/filament-core-starter-kit

Isso 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:

text
filament-core-contracts        ← Interfaces, DTOs, Events
  ├── filament-core-invoices   ← Implementa PaymentInterface
  ├── filament-core-people     ← Implementa PersonInterface
  └── filament-core-communications ← Implementa NotificationInterface

Mó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, PersonDeleted
  • InvoiceCreated, InvoicePaid, InvoiceCancelled
  • CommunicationSent, CommunicationFailed

Modular

Habilite/desabilite módulos via .env:

bash
FILAMENT_MODULE_INVOICES=true
FILAMENT_MODULE_PEOPLE=true
FILAMENT_MODULE_COMMUNICATIONS=false  # Desabilitado

Escopo

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

bash
# 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/admin

Veja 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 .env completo 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)
  • 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

text
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é-configurado

Próximos Passos

  1. Definir blueprint de instalação (composer create-project / cli próprio) - Concluído
  2. Publicar documentação de setup dentro de docs/starter-kit/ cobrindo variáveis de ambiente e registros de webhooks - Concluído
  3. Integrar testes de ponta a ponta que validem os fluxos de faturamento, cadastro de pessoas e disparo de comunicações
  4. Preparar exemplos de extensões (drivers customizados, novos canais) alinhados aos contratos existentes

Referências

Documentação privada do ecossistema Filament Core.