Um player de música moderno e responsivo com suporte a múltiplas plataformas (Deezer, YouTube Music, Sua Música) e gerenciamento de playlists locais.
playmusic-main/
├── frontend/ # Camada de Front-end
│ ├── assets/ # Recursos estáticos
│ │ └── favicon.ico
│ ├── css/ # Estilos CSS
│ │ └── styles.css
│ ├── js/ # JavaScript
│ │ └── app.js
│ └── index.html # Página principal
├── backend/ # Camada de Back-end
│ ├── src/ # Código fonte
│ ├── config/ # Configurações
│ ├── utils/ # Utilitários
│ ├── api/ # API para Vercel
│ │ ├── index.py
│ │ └── requirements.txt
│ ├── musics/ # Biblioteca de músicas
│ │ ├── covers/ # Capas dos álbuns
│ │ └── [playlists]/ # Pastas de playlists
│ ├── server.py # Servidor principal
│ ├── requirements.txt # Dependências Python
│ ├── test_playlists.py # Testes de playlists
│ └── remove_duplicates.py # Utilitário para remover duplicados
├── README.md # Documentação principal
├── DEPLOY.md # Guia de deploy
├── LICENSE # Licença
└── vercel.json # Configuração Vercel
- Interface Moderna: Design responsivo com tema escuro
- Player Avançado: Controles de reprodução, volume e progresso
- Busca Inteligente: Integração com Deezer, YouTube Music e Sua Música
- Gerenciamento de Playlists: Criação, edição e organização de playlists
- Upload de Arquivos: Suporte a múltiplos formatos de áudio
- IndexedDB: Armazenamento local para melhor performance
- Controles de Volume: Master, canais individuais e balance
- API RESTful: Endpoints para gerenciamento de músicas e playlists
- Download de Playlists: Integração com YouTube Music via yt-dlp
- Processamento de Metadados: Extração automática de informações de áudio
- Sistema de Playlists: Organização por pastas
- CORS: Suporte para requisições cross-origin
- Deploy Vercel: Configuração para deploy serverless
- HTML5: Estrutura semântica
- CSS3: Estilos modernos com Flexbox e Grid
- JavaScript ES6+: Funcionalidades avançadas
- IndexedDB: Banco de dados local
- Web Audio API: Controles de áudio avançados
- Python 3.8+: Linguagem principal
- Flask: Framework web
- yt-dlp: Download de conteúdo do YouTube
- mutagen: Processamento de metadados de áudio
- Flask-CORS: Suporte a CORS
- Python 3.8 ou superior
- Node.js (opcional, para desenvolvimento front-end)
cd backend
pip install -r requirements.txt
python server.pycd frontend
# Abra index.html em um navegador moderno
# Ou use um servidor local:
python -m http.server 8000# Backend
MUSIC_DIR=/path/to/musics
COVERS_DIR=/path/to/covers
PORT=5000
# Frontend
API_BASE_URL=http://localhost:5000musics/
├── covers/ # Capas dos álbuns
├── Playlist 1/ # Playlist organizada
├── Playlist 2/ # Outra playlist
└── Geral/ # Músicas gerais
- Áudio: MP3, M4A, AAC, OGG, OPUS, WAV, FLAC, WebM
- Metadados: ID3, MP4 tags
- Covers: JPG, PNG, WebP
- Deezer API: Busca e streaming de músicas
- YouTube Music: Download de playlists e vídeos
- Sua Música: Busca de conteúdo brasileiro
# Configure o vercel.json
vercel --prod# Configure o Procfile
git push heroku main# Backend
python server.py
# Frontend
python -m http.server 8000O aplicativo é totalmente responsivo e funciona em:
- Desktop: Interface completa com todos os controles
- Tablet: Layout adaptado para telas médias
- Mobile: Interface otimizada para touch
- CORS: Configurado para permitir requisições do front-end
- Validação: Verificação de tipos de arquivo
- Sanitização: Limpeza de nomes de arquivo
- Rate Limiting: Proteção contra spam
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
- Issues: Use o GitHub Issues para reportar bugs
- Discussions: Use o GitHub Discussions para perguntas
- Wiki: Documentação detalhada no Wiki do projeto
- ✅ Separação completa de front-end e back-end
- ✅ Estrutura organizada de pastas
- ✅ CSS e JavaScript em arquivos separados
- ✅ Melhor organização do código
- ✅ Documentação atualizada
- ✅ Player de música básico
- ✅ Integração com Deezer
- ✅ Sistema de playlists
- ✅ Upload de arquivos