Skip to content

iurygdeoliveira/labSIS-KIT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

188 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LabSIS KIT

LabSIS Logo
www.labsis.dev.br
Transformando desafios reais em soluções inteligentes

Filament v5 Laravel v12+ Livewire v4 PHP 8.5+

Sobre o labSIS KIT

Este repositório é um Kit de Iniciação (Starter Kit) para o desenvolvimento de aplicações SaaS (Software as a Service) utilizando a stack TALL (Tailwind, Alpine.js, Laravel, Livewire) e Filament.

O objetivo deste projeto é fornecer uma base sólida e rica em recursos para acelerar o desenvolvimento de novas aplicações, seguindo as melhores práticas e convenções do ecossistema Laravel.

Confira também o nosso Roadmap de Desenvolvimento para ver o que planejado para o futuro do kit.

Documentação do Kit

Esta documentação foi criada para facilitar o entendimento de como as funcionalidades do kit foram implementadas, descrevendo os padrões adotados, decisões técnicas e exemplos práticos.

Toda a documentação sobre como utilizar os recursos, padrões e arquitetura deste kit está disponível na pasta /docs. Recomendamos a leitura para todos os desenvolvedores que pretendem utilizar este projeto.

Além disso, este repositório foi indexado nas plataformas de IA DeepWiki e Context7, que auxiliam o leitor a explorar o código e compreender as implementações por meio de buscas contextuais e respostas explicativas.

Autenticação e Segurança

UI e Customização

Backend e Arquitetura

Stack Tecnológica

Otimizações

Qualidade de Código

Testes Automatizados

Inteligência Artificial

Pré-requisitos

Antes de começar, certifique-se de ter instalado em sua máquina:

  • Docker - Download
    • O Docker é essencial para este projeto pois possibilita criar um ambiente de desenvolvimento mais próximo do ambiente de produção, garantindo consistência entre diferentes máquinas e facilitando a implantação.
  • Git - Download
  • Composer - Download
  • Node.js (versão 18 ou superior) - Download

Como realizar a instalação

Primeiro acesso

Após rodar as migrations e seeders, os seguintes usuários são criados pelo UserSeeder:

  • Admin (escopo global):

    • Email: admin@labsis.dev.br
    • Senha: mudar123
    • Acesso ao painel: /admin
    • Observação: Possui a role Admin em escopo global.
  • Usuários de exemplo (escopo por tenant):

    • Sicrano
      • Email: sicrano@labsis.dev.br
      • Senha: mudar123
      • Tenants: Tenant A (Owner), Tenant B (User)
      • Acesso ao painel: /user
    • Beltrano
      • Email: beltrano@labsis.dev.br
      • Senha: mudar123
      • Tenants: Tenant A (User), Tenant B (Owner)
      • Acesso ao painel: /user

Agradecimentos

Gostaríamos de expressar nossa sincera gratidão a todas as pessoas e equipes cujo trabalho tornou este projeto possível. Suas contribuições para a comunidade de código aberto são uma fonte constante de inspiração e um pilar fundamental para o nosso desenvolvimento.

Em especial, agradecemos a:

  • Equipe Laravel: Pela criação e manutenção de um framework robusto, elegante e inovador, disponível em laravel/laravel.
  • Equipe Filament: Pelo incrível trabalho no Filament, que nos permite construir painéis administrativos complexos com uma velocidade e simplicidade impressionantes.
  • Equipe Spatie (spatie.be): Pelo desenvolvimento dos pacotes laravel-permission e laravel-medialibrary, amplamente utilizados no ecossistema Laravel.
  • Comunidade Beer and Code (beerandcode.com.br): Pela excelente metodologia de ensino em Laravel, que tem colaborador com a formação de desenvolvedores PHP, fornecendo conhecimento prático e focado em soluções reais.
  • Leandro Costa (@leandrocfe): Por suas valiosas contribuições e por compartilhar conhecimento de alta qualidade sobre Filament em seu canal Filament Brasil no YouTube, que foi fundamental para a implementação de diversas features neste projeto.
  • Nanderson Castro (@NandoKstroNet): Pelo excelente trabalho no canal Code Experts, que tem sido uma fonte valiosa de conhecimento técnico e boas práticas de desenvolvimento.
  • João Paulo Leite Nascimento (@joaopaulolndev): Pelo desenvolvimento do pacote filament-edit-profile, que revolucionou a experiência de edição de perfil de usuários no Filament. Este pacote oferece uma solução completa e elegante para gerenciamento de perfis de usuário.
  • Jeferson Gonçalves (@jeffersongoncalves): Pelo desenvolvimento de diversos pacotes, que agregam grande valor a comunidade filament + laravel.

O trabalho de vocês contribui significativamente para o avanço e a qualidade deste projeto.

🚀 Recursos Atuais

O Kit oferece uma base sólida com os seguintes recursos já implementados:

  • Gestão de Tenants: Sistema multi-tenant completo com isolamento de dados por organização. Inclui criação e gerenciamento de tenants, controle de acesso baseado em roles (Admin, Owner, User), e interface administrativa para configuração de permissões por tenant.

  • Gestão de Roles e Permissões: Sistema hierárquico de autorização com três níveis (Admin global, Owner por tenant, User por tenant). CRUD completo para roles e permissões com isolamento por tenant, policies centralizadas e interface de gerenciamento intuitiva.

  • Gestão de Mídias: CRUD completo para mídias, com Preview de Conteúdo, Organização por Tipo e Tamanho Humanizado.

  • Gestão de Usuários: CRUD completo para usuários (Criação, Leitura, Atualização e Exclusão). Sistema de Suspensão de Usuários, Organização em Abas com informações detalhadas (Informações Pessoais, Datas, Suspensão).

  • Customização de Logotipo: Logotipo customizado para o painel de autenticação e para o rodapé do painel.

  • Login Unificado para diferentes painéis: Login com Email e Senha, recuperação de senha e autenticação de dois fatores (2FA).

  • Exibição de Widgets: Widgets personalizados para exibição de métricas e informações relevantes.

  • Website / Landing Page: Página Inicial, Seções Pré-definidas (Hero e Sobre).

  • Registro Histórico de Autenticações: Monitoramento completo de acessos de usuários com armazenamento em MongoDB, incluindo registros de login, logout, endereços IP e dispositivos.

  • Gestão de Templates de E-mail: Funcionalidade para visualizar e testar templates de e-mail diretamente pelo painel administrativo, com suporte a templates customizados e dados reais de preview.

🧩 Plugins Utilizados

Este projeto integra plugins e pacotes robustos para expandir suas funcionalidades. Abaixo, destacamos os componentes utilizados:

  • Filament Easy Footer: Adiciona um rodapé customizável ao painel administrativo, permitindo fácil inclusão de links e informações de copyright.
  • Filament Spatie Media Library: Plugin oficial para integrar a poderosa biblioteca Spatie Media Library ao Filament, facilitando o upload e gestão de arquivos.
  • Filament Media Action: Fornece ações adicionais para manipulação de mídias dentro do Filament, melhorando a experiência de gerenciamento de arquivos.
  • Laravel Authentication Log: Pacote backend que rastreia e registra atividades de autenticação dos usuários, como logins, logouts e dispositivos utilizados.
  • Spatie Laravel Backup: Solução completa para backups de banco de dados e arquivos da aplicação, com suporte a notificações e armazenamento em cloud.
  • Spatie Laravel Query Builder: Facilita a construção de consultas Eloquent complexas a partir de parâmetros de requisição HTTP, ideal para APIs e filtragem avançada.

🛠️ Recomendação de Ferramentas de Desenvolvimento

Este projeto utiliza um conjunto de ferramentas para garantir a qualidade, padronização e agilidade no desenvolvimento. Abaixo estão os pacotes incluídos no ambiente de desenvolvimento (require-dev):

  • barryvdh/laravel-debugbar: Adiciona uma barra de depuração com informações úteis sobre a aplicação.
  • beyondcode/laravel-query-detector: Auxilia na identificação de consultas N+1, notificando o desenvolvedor para melhorar a performance da aplicação.
  • fakerphp/faker: Gera dados falsos para popular o banco de dados em testes e seeders.
  • larastan/larastan: Realiza análise estática de código para encontrar bugs sem executar o código.
  • laravel-shift/blueprint: Gera código Laravel rapidamente a partir de um arquivo de definição.
  • laravel/boost: Servidor MCP oficial do Laravel que fornece contexto inteligente sobre a aplicação (versões, schema DB, rotas, Artisan) para agentes de IA. Ver documentação.
  • laravel/pint: Formata o código PHP para seguir um padrão de estilo consistente (PSR-12).
  • laravel/sail: Ambiente de desenvolvimento local completo baseado em Docker.
  • laravel/tinker: Console interativo (REPL) para executar código no contexto da aplicação.
  • lucascudo/laravel-pt-br-localization: Fornece traduções e configurações para a localização em português do Brasil.
  • pestphp/pest: Framework de testes elegante e focado no desenvolvedor para PHP.

📄 Licença

Este projeto está licenciado sob a MIT License.

👥 Autor


LabSIS - Transformando desafios reais em soluções inteligentes

About

Repositorio destinado a fornecer um kit inicial para desenvolvimento de SaaS usando laravel e filament

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

 
 
 

Contributors