Download the PHP package sierratecnologia/media-manager without Composer
On this page you can find all versions of the php package sierratecnologia/media-manager. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sierratecnologia/media-manager
More information about sierratecnologia/media-manager
Files in sierratecnologia/media-manager
Package media-manager
Short Description MediaManager de Arquivos
License MIT
Homepage https://sierratecnologia.com/packages/media-manager/
Informations about the package media-manager
SierraTecnologia MediaManager
SierraTecnologia MediaManager Various functionality, and basic controller included out-of-the-box.
📚 Índice
- Introdução
- Instalação
- Arquitetura e Estrutura Interna
- Principais Funcionalidades
- Uso Prático
- Integração com o Ecossistema SierraTecnologia
- Extensão e Customização
- Exemplos Reais
- Guia de Contribuição
- Suporte
- Segurança
🎯 Introdução
O que é o MediaManager?
O MediaManager é uma biblioteca Laravel robusta e extensível desenvolvida pela SierraTecnologia para gerenciamento completo de mídias (imagens, vídeos, arquivos e documentos). Ele fornece uma camada de abstração poderosa sobre o sistema de armazenamento do Laravel, facilitando upload, manipulação, versionamento e recuperação de arquivos multimídia.
Objetivo e Filosofia
O MediaManager foi concebido com os seguintes princípios:
- Abstração de Storage: Suporte nativo para múltiplos drivers (local, S3, Google Drive, Dropbox, SFTP)
- Processamento Inteligente: Manipulação automática de imagens (resize, crop, thumbnails) via Intervention Image
- Segurança: Criptografia de URLs e controle de acesso a arquivos sensíveis
- Padronização: Interface consistente para gerenciamento de mídias em todo o ecossistema SierraTecnologia
- Performance: Cache inteligente e otimização de armazenamento
- Rastreabilidade: Integração com sistema de tracking e auditoria
Benefícios
✅ Reutilização de Código: Uma única API para gerenciar mídias em múltiplos projetos ✅ Segurança: URLs criptografadas e validação de tipos de arquivo ✅ Escalabilidade: Suporte a CDNs e armazenamento distribuído ✅ Produtividade: Helpers e facades para operações comuns ✅ Manutenibilidade: Código organizado seguindo padrões SOLID e PSR-12
Contexto no Ecossistema SierraTecnologia
O MediaManager é parte fundamental do ecossistema SierraTecnologia / Rica Soluções, integrando-se com:
- CMS SierraTecnologia: Gerenciamento de conteúdo e assets
- Market: Upload de produtos e imagens de catálogo
- Arquiteto: Documentação técnica e diagramas
- Locaravel: Sistema de localização com mídias geolocalizadas
📦 Instalação
Requisitos Mínimos
- PHP:
^7.2 | ^8.0 | ^8.1 | ^8.2 | ^8.3 - Laravel:
^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0 - Extensões PHP:
gd,exif,imagick(recomendado),fileinfo
Instalação via Composer
Publicação de Configurações
Registro de Service Providers
O MediaManager utiliza auto-discovery do Laravel. Se necessário, registre manualmente em config/app.php:
Configuração de Drivers de Storage
Configure os drivers desejados em config/filesystems.php:
🏗️ Arquitetura e Estrutura Interna
Organização de Pastas e Namespaces
Padrões Adotados
1. Repository Pattern
Abstração da camada de acesso a dados:
2. Service Layer
Lógica de negócio isolada:
3. Event-Driven Architecture
Eventos para desacoplamento:
4. Observer Pattern
Observers Eloquent para side-effects:
Comunicação entre Camadas
Convenções e Boas Práticas
- PSR-12: Padrão de codificação
- Type Hints: Declaração de tipos em métodos e propriedades
- Docblocks: Documentação inline para IDEs
- Dependency Injection: Injeção de dependências via Container
- Single Responsibility: Cada classe tem uma responsabilidade única
⚙️ Principais Funcionalidades
1. Upload e Manipulação de Arquivos
Upload Simples
Upload de Clones (arquivos existentes)
2. Gerenciamento de Imagens
Upload e Processamento Automático
Geração de Thumbnails
Manipulação com Intervention Image
3. Integração com Drivers de Armazenamento
Configuração Multi-Driver
Sincronização entre Disks
4. Controle de Permissões e Autenticação
URLs Criptografadas
Rotas Protegidas
5. Processamento de Vídeo
Encoding de Vídeos
6. Playlists e Organização
Criar Playlist
💻 Uso Prático
Exemplo Completo: Upload de Imagem de Produto
Integração com Storage Nativo
Helper de Preview de Arquivos
Dicas de Performance e Caching
1. Cache de Imagens
2. Lazy Loading de Thumbnails
3. CDN Integration
🔗 Integração com o Ecossistema SierraTecnologia
Relação com Outros Módulos
CMS SierraTecnologia
O MediaManager fornece a camada de gerenciamento de assets para o CMS:
Market (E-commerce)
Gerenciamento de imagens de produtos:
Locaravel (Geolocalização)
Mídias com metadados de localização:
Padrões de Versionamento e CI/CD
O MediaManager segue Semantic Versioning:
- Major: Mudanças incompatíveis com versões anteriores
- Minor: Novas funcionalidades compatíveis
- Patch: Correções de bugs
Workflow de CI/CD
O projeto utiliza GitHub Actions para automação:
Padronização entre Microserviços
Todos os microserviços SierraTecnologia utilizam o MediaManager como interface única:
🔧 Extensão e Customização
Criar Novos Drivers de Armazenamento
1. Criar Adapter
2. Registrar Service Provider
3. Configurar em config/filesystems.php
Interceptar Uploads e Aplicar Regras Customizadas
Criar Middleware de Upload
Aplicar em Rotas
Criar Eventos e Listeners Customizados
Evento Customizado
Listener
Registrar em EventServiceProvider
Estender Models com Traits Customizados
🌟 Exemplos Reais
Caso de Uso 1: CMS com Galeria de Imagens
Antes do MediaManager:
Depois do MediaManager:
Caso de Uso 2: E-commerce com Upload de Produtos
Cenário: Sistema Market com milhares de produtos
Resultado:
- 🚀 Upload de múltiplas imagens otimizado
- 📸 Thumbnails em 3 tamanhos para diferentes contextos
- 🔒 URLs protegidas e criptografadas
- ⚡ Pronto para CDN/S3
Caso de Uso 3: Sistema de Documentos com Auditoria
Benefícios Obtidos:
- ✅ Controle total de acesso a documentos sensíveis
- ✅ Auditoria completa de uploads e downloads
- ✅ URLs com expiração (via criptografia)
- ✅ Integração com sistema de tracking
🤝 Guia de Contribuição
Como Contribuir
Agradecemos seu interesse em contribuir! Siga as etapas:
- Fork o repositório
- Clone seu fork:
git clone https://github.com/seu-usuario/media-manager.git - Crie uma branch para sua feature:
git checkout -b feature/nova-funcionalidade - Faça suas alterações seguindo os padrões de código
- Execute os testes:
vendor/bin/phpunit -
Execute as verificações de qualidade:
- Commit suas mudanças:
git commit -m "feat: adiciona nova funcionalidade X" - Push para seu fork:
git push origin feature/nova-funcionalidade - Abra um Pull Request descrevendo suas alterações
Padrões de Commits
Seguimos Conventional Commits:
Branch Naming
feature/nome-da-feature- Novas funcionalidadesfix/descricao-do-bug- Correções de bugsdocs/atualizacao- Atualizações de documentaçãorefactor/nome-do-refactor- Refatorações
Execução Local das Ferramentas de Qualidade
PHPUnit (Testes)
PHPCS (Code Sniffer - PSR-12)
PHPStan (Análise Estática)
PHPMD (Mess Detector)
Psalm (Análise de Tipos)
GrumPHP (Git Hooks)
O projeto utiliza GrumPHP para validações automáticas antes de commits:
Política de Licença
O MediaManager é open-source licenciado sob MIT License.
Contato da Equipe Técnica
- Email: [email protected]
- Slack: SierraTecnologia Workspace
- Issues: GitHub Issues
📞 Suporte
Canais de suporte disponíveis:
- 💬 Chat no Slack
- 📧 Email de Ajuda
- 🐦 Twitter @sierratecnologia
- 📚 Documentação Completa
🔒 Segurança
Se você descobrir uma vulnerabilidade de segurança, por favor NÃO abra uma issue pública.
Envie um email para [email protected] com:
- Descrição detalhada da vulnerabilidade
- Passos para reproduzir
- Impacto potencial
- Sugestões de correção (se houver)
Todas as vulnerabilidades serão tratadas com prioridade máxima.
📝 Changelog
Consulte o Changelog para histórico completo de versões.
About SierraTecnologia
SierraTecnologia is a software solutions startup, specialized in integrated enterprise solutions for SMEs established in Rio de Janeiro, Brazil since June 2008. We believe that our drive The Value, The Reach, and The Impact is what differentiates us and unleash the endless possibilities of our philosophy through the power of software. We like to call it Innovation At The Speed Of Life. That’s how we do our share of advancing humanity.
License
This software is released under The MIT License (MIT).
(c) 2008-2020 SierraTecnologia, Some rights reserved.
https://github.com/sampotts/plyr
"bkwld/croppa": "^4.0",All versions of media-manager with dependencies
laravel/framework Version ^7.0 || ^8.0
sierratecnologia/muleta Version ^0.4.0
fideloper/proxy Version >=4.0
league/pipeline Version *
league/flysystem Version *
league/flysystem-cached-adapter Version *
league/flysystem-sftp Version *
league/flysystem-ziparchive Version *
nao-pon/flysystem-google-drive Version ~1.1
srmklive/flysystem-dropbox-v2 Version *
google/photos-library Version >=1.4
league/mime-type-detection Version >=1.1
intervention/image Version >=2.4
intervention/imagecache Version >=2.3
spatie/laravel-medialibrary Version ^8.0
doctrine/dbal Version ^2.11