NeonWave é um ecossistema musical desktop completo para download e reprodução de áudio. Desenvolvido com Electron, React 19 e TypeScript, ele une a liberdade do armazenamento local com uma interface futurista, fluida e altamente personalizável.
O NeonWave nasceu com o objetivo de ser um downloader e player de músicas pessoal, simples de usar, visualmente impactante e totalmente offline. Ele resolve o desafio de centralizar músicas de diversas fontes em um único lugar, com uma organização inteligente e estética impecável.
- Autonomia: Download e reprodução local sem dependência de streaming constante.
- Performance: Arquitetura segregada entre Processo Main (Node/Electron) e Render (React/Vite).
- Estética: Interface imersiva com suporte a múltiplos temas visuais.
- Robustez: Persistência de dados com Prisma ORM e SQLite.
- Download Inteligente: Captura de áudio via URLs (YouTube) com conversão automática.
- Processamento de Áudio: Integração com
ffmpegpara garantir compatibilidade de formatos. - Organização Automática: Classificação por Gênero, Artista e Álbum via metadados.
- Player Nativo: Controles completos de reprodução com interface reativa.
- Navegação SPA: Transições instantâneas entre telas usando
React Router. - Animações de Alta Fidelidade: Feedback visual e microinterações com
Framer Motion.
O NeonWave oferece uma galeria de temas dinâmicos que alteram completamente a atmosfera do app. A interface utiliza técnicas avançadas de CSS, como a elipse de profundidade (44% 33% at 52% 63%) para criar camadas de transparência e foco.
- Tema Cyberpunk City: Alto contraste com tons de neon rosa, roxo e azul.
- Tema Ocean Abyss: Gradientes suaves em tons de ciano e azul marinho.
- Tema Summer Breeze: Uma paleta quente inspirada no estilo verão/praia.
- Customização: Sistema de temas baseado em variáveis do Tailwind CSS 4.0, permitindo a troca de esquemas de cores em tempo real.
O projeto segue uma estrutura modular e organizada para garantir escalabilidade:
neonwave/
├── electron/ # Processo Principal (Main Process)
│ ├── backend/ # Lógica de Negócio e Infraestrutura
│ │ ├── container/ # Injeção de dependências / Singleton
│ │ ├── controllers/ # Handlers de comunicação IPC
│ │ ├── core/ # Configurações centrais do sistema
│ │ ├── ipc/ # Definições de canais de comunicação
│ │ ├── repositories/ # Abstração de acesso ao banco Prisma
│ │ ├── services/ # DownloadService, MusicService, etc.
│ │ └── validations/ # Schemas de validação com Zod
│ ├── main.ts # Ponto de entrada do Electron
│ └── preload.ts # Ponte de segurança entre Main e Render
├── prisma/ # Schema e Migrations do banco SQLite
├── resources/ # Binários externos (yt-dlp, ffmpeg)
└── render/ # Interface do Usuário (React + Vite)
└── src/
├── api/ # Chamadas IPC tipadas
├── app/ # Configurações globais e rotas
├── components/ # Componentes de UI (Neon style)
├── contexts/ # Estados globais (PlayerContext, ThemeContext)
├── hooks/ # Hooks customizados para lógica de UI
└── main.tsx # Inicialização do React
- Electron: Framework base desktop.
- Prisma ORM & SQLite: Persistência de dados local segura e leve.
- FFmpeg & yt-dlp: Processamento de mídia de alto desempenho.
- React 19: UI declarativa e moderna.
- Tailwind CSS 4.0: Estilização com performance máxima.
- Framer Motion: Engine de animações e transições.
- Lucide React: Iconografia minimalista.
- Instale as dependências da raiz:
npm install
- Instale as dependências do Frontend:
cd render && npm install && cd ..
- Inicie o ambiente:
npm run dev
Para gerar o executável portátil na pasta /release:
npm run dist
Este projeto foi desenvolvido estritamente para fins educacionais e de estudo pessoal.
-
Finalidade: O NeonWave demonstra a integração de tecnologias como Electron, React e bancos de dados locais.
-
Responsabilidade: O autor não incentiva nem se responsabiliza pelo download de conteúdos protegidos por direitos autorais. O uso desta ferramenta para baixar qualquer mídia deve respeitar os Termos de Serviço das plataformas de origem e as leis de copyright vigentes.
-
Uso: Destinado apenas para uso privado e pessoal.
Emerson Carneiro da Silva
Este projeto está sob a licença MIT.
Temas Dark, Very Dark, Thunderstorm Strike
Temas Neon Punk, Synthwave, Urban Pulse
Tema Light
Tema Steel Wave
Tema Summer Breeze
Tema Oceanic Abyss
Tema Forest Echo
Tema Autumn Leaves
Tema Winter Chill
Tema Pastel Bloom