Aprenda como criar um aplicativo para streaming tipo Spotify gratuito, no code, usando o editor visual web do Bubble.
Você ama transmitir sua música favorita? Agora é mais fácil do que nunca compartilhar essa paixão com o resto do mundo, criando seu próprio aplicativo de streaming.
Tradicionalmente, seria necessária uma equipe de engenharia inteira para criar uma plataforma como o Spotify ou SoundCloud. Com ferramentas no code como o Bubble, no entanto, nunca foi tão fácil para alguém criar seu próprio aplicativo móvel – tudo sem ter que digitar uma única linha de código!
Ferramentas no code, como o Bubble, estão revolucionando a forma como os criadores comuns podem fazer software. A ferramenta de programação visual do Bubble é a porta de entrada para os criadores de amanhã. Podemos usar o Bubble para criar lojas virtuais, aplicativos móveis e até redes sociais.
Ao longo deste post, vamos descobrir o processo de usar o Bubble para criar seu próprio aplicativo de streaming de música tipo Spotify ou SoundCloud, gratuito e no code.
Se você está procurando criar um serviço de streaming dedicado, ou apenas interessado em utilizar alguns dos principais recursos do Spotify, este guia compartilhará como começar a criar a lógica subjacente para seu MVP.
As etapas para criar um aplicativo tipo Spotify de graça e no code incluem:
Índice
Fazer cadastro gratuito no Bubble
Caso ainda não tenha uma conta no Bubble.io, clique aqui para fazer seu cadastro gratuito. Em seguida, você pode acompanhar enquanto criamos nosso app juntos.
Faça seu cadastro gratuito no Bubble.
Também será benéfico se você entender como criar e editar contas de usuário. Já cobrimos isso com mais detalhes em nosso artigo Como criar um site tipo Quora.
Ao iniciar seu projeto, você pode escolher começar criando um protótipo para o design do seu aplicativo ou criando os campos necessários em seu banco de dados.
Neste caso, começaremos usando a ferramenta de design visual do Bubble para moldar a interface de usuário do nosso aplicativo. Se você está baseado seu app de streaming no Spotify, algumas das páginas principais que desejará incluir são:
- Página de upload – Um portal back-end onde os artistas podem fazer upload de músicas
- Página inicial – Exibindo uma lista de músicas por suas categorias
- Página de reprodução – Onde uma música individual pode ser reproduzida
- Página para criar playlists (listas de reprodução) – Permitindo que os usuários criem novas playlists
- Perfil de usuário – Exibindo os detalhes de um usuário e uma lista de suas playlists criadas
- Página da playlist – Exibindo uma lista de todas as músicas adicionadas em uma playlist
Um dos principais recursos do Bubble é o capacidade de enviar dados entre páginas. Isso permite que você crie uma versão genérica de uma página e, em seguida, exiba dinamicamente o conteúdo relevante de seu banco de dados quando for necessário.
No caso do seu aplicativo tipo Spotify para Android ou Iphone, você só precisará criar uma página para hospedar suas músicas individuais. Podemos então criar a lógica necessária para exibir apenas a música relevante em cada página quando for necessário (vamos cobrir isso com mais detalhes em breve).
Configurando seu banco de dados
Depois de mapear a exibição do aplicativo, você pode se concentrar na criação dos campos de dados necessários para alimentá-lo. Contaremos com esses campos para conectar os workflows por trás de seu app.
O banco de dados pré-construído do Bubble facilita a criação de diferentes tipos de dados com campos exclusivos. Ao criar um banco de dados, recomendamos dividir itens grandes em tipos de dados separados – aumentando a velocidade do aplicativo.
Por exemplo, vamos criar dois tipos de dados separados para nossas músicas. Um incluirá os detalhes básicos da música (nome, artista e foto da capa), enquanto o outro incluirá o próprio arquivo da música.
Ao criá-los como campos de dados separados, podemos carregar apenas as informações necessárias quando são necessárias, reduzindo a quantidade de conteúdo que o editor do Bubble precisará processar.
Ao usar o Spotify como um MVP, precisaremos criar os seguintes tipos de dados e campos:
Tipo de dados: Usuário
Campos:
- Nome
- Foto
- Playlists – Lista de playlists. Nota: Criar um campo baseado em lista, em um tipo de dados separado, permite que você integre perfeitamente todos os seus campos de dados relevantes sem ter que criar campos adicionais
Tipo de dados: Música
Campos:
- Título
- Nome do artista
- Imagem da capa
- Conteúdo da música – conteúdo da música
- Playlists em que foi adicionada – Lista de playlists
- Categoria
Tipo de dados: Conteúdo de música
Campos:
- Arquivo da música
Tipo de dados: Playlist
Campos:
- Nome da playlist
- Descrição
- Conteúdo da playlist – Conteúdo da playlist
Tipo de dados: Conteúdo da Playlist
Campos:
- Lista de músicas
Workflows necessários para criar um aplicativo tipo Spotify
Com o design e banco de dados para seu app estruturados, podemos começar a juntar tudo – tornando o aplicativo funcional.
No Bubble, a principal maneira de fazer isso é com “workflows”. Cada workflow acontece quando ocorre um “evento” (ex: um usuário clica em um botão) e, em seguida, executa uma série de “ações” em resposta (ex: “cadastre o usuário”, “faça uma alteração no banco de dados”, etc. )
Fazendo o upload de um nova música
O primeiro recurso que vamos criar é um portal back-end onde artistas ou gravadoras podem fazer upload de músicas para a plataforma.
Na página de upload, você pode começar adicionando uma combinação de inputs, incluindo: campos de texto livre, uploaders de imagem e um uploader de arquivo.
Depois que um usuário tiver adicionado seus detalhes relevantes em cada input, eles clicarão no botão enviar (upload) para criar uma nova entrada em seu banco de dados. Este clique de botão será a ação necessária para acionar seu workflow.
Usando o editor de workflow, você pode optar por criar um novo item em seu banco de dados. Neste caso, estaremos criando uma nova música.
Em seguida, você precisará começar a adicionar dados dos seus elementos na página aos campos relevantes em seu banco de dados. Mapeie cada input que deseja criar em relação ao campo de dados correspondente.
Começaremos criando o próprio conteúdo da música. Isso criará um arquivo em silos onde a música será armazenada. Ao separar esse arquivo grande dos detalhes adicionais das músicas, isso aumentará a velocidade de seu aplicativo, pois o editor do Bubble precisará carregar esse arquivo apenas quando for necessário.
Em seguida, adicionaremos outra etapa em nosso workflow, desta vez criando uma nova música. Este tipo de dados incluirá os detalhes restantes da música, incluindo seu título, imagem da capa e nome do artista. Contaremos com essas informações ao exibir a faixa para os usuários na página inicial.
Embora tenhamos separado o arquivo da música das informações das músicas, esse workflow nos permite mesclar esses dois tipos de dados, mas manter os arquivos separados.
Exibir uma lista de músicas no seu app de streaming no code
Depois de começar a adicionar músicas à plataforma, você está pronto para exibir cada item em um feed na página inicial. Isso pode ser obtido usando o elemento de grupo repetidor.
Grupos repetidores se integram ao seu banco de dados para exibir e atualizar uma lista de conteúdo dinâmico.
Ao usar um grupo repetidor, você precisará primeiro vincular o elemento a um tipo de dados em seu banco de dados. Nesse caso, você classificará o tipo como música.
Você também precisará definir a fonte de dados como uma lista de todas as músicas enviadas em seu banco de dados. Se desejar segmentar cada grupo repetidor por uma categoria relevante, você pode adicionar uma restrição adicional à sua fonte de dados.
Nesse exemplo, adicionaremos uma restrição para exibir apenas músicas que se igualem à categoria Hip Hop.
Agora você está pronto para começar a estruturar o conteúdo dinâmico que será exibido nesta grade. Simplesmente mapeie a primeira coluna com o conteúdo relevante que você gostaria de mostrar, então o grupo repetidor preencherá as colunas restantes com base em seus dados existentes.
Dentro de um grupo repetidor, também é possível criar eventos dentro de cada coluna individual.
Este recurso se tornará útil ao criar recursos de navegação em sua plataforma. Ao selecionar a reprodução de uma música, vamos redirecionar o usuário para nossa página de reprodução dedicada, onde eles podem reproduzir o arquivo em si.
Para realizar este evento, você precisará começar criando um workflow que redireciona o usuário quando o título da música é clicado.
Selecione para ir para a página – a página de reprodução dedicada.
Então você precisará enviar dados adicionais à esta página para que o editor do Bubble saiba qual música específica exibir. Os dados que você precisa exibir são os da música da célula atual.
Exibir conteúdo dinâmico na página da música
Quando um usuário é direcionado para uma página específica do aplicativo, você pode facilmente extrair esses dados de evento de seu workflow para exibir o conteúdo relevante.
Antes de criarmos esse workflow, primeiro você precisa garantir que o tipo de página corresponda à propriedade de dados que está enviando por meio da lógica de eventos. Nesse caso, você precisará definir a página de reprodução com uma propriedade da música.
Agora podemos adicionar conteúdo dinâmico aos elementos da página, exibindo as informações da música que foi enviada em seu workflow.
A seguir, adicionaremos o plugin Bubble Circle Music Player em nosso aplicativo. Este plugin gratuito permitirá aos usuários iniciar e parar (play e stop) o arquivo de música em nossa página.
Para criar nosso MVP, nosso foco principal será adicionar apenas um botão play e stop para cada música individual.
Ao adicionar o elemento reprodutor de música em sua página, precisaremos configurar os dados vinculados ao arquivo de conteúdo da música separado, que anexamos à música da página atual.
Isso agora reproduzirá o arquivo de música que carregamos anteriormente.
Criar um playlist em seu aplicativo tipo Spotify
Agora que criamos uma função para transmitir músicas, vamos nos concentrar em selecionar nossas faixas favoritas em playlists categorizadas.
Mais uma vez, criaremos uma página dedicada em nosso aplicativo onde os usuários podem adicionar as informações relevantes ao criar uma playlist.
Nota: Também é possível usar um elemento pop-up para substituir esta página.
Em nossa página de criação de playlist, criaremos um novo workflow quando o botão criar playlist for clicado.
Dentro deste workflow, começaremos criando um novo item no banco de dados – uma nova playlist.
Depois de criar esta playlist, precisaremos criar uma etapa que altere um item no banco de dados, adicionando esta nova playlist à lista de playlists criadas pelo usuário atual.
Adicionando uma música a uma playlist
Após criamos uma playlist, precisaremos em seguida de uma função para adicionar uma música a esta biblioteca. Criar esse workflow é tão simples quanto fazer alterações em um campo de dados existente.
Começaremos adicionando um pop-up à nossa página inicial. Popups são uma maneira útil de exibir informações ou criar eventos sem direcionar o usuário para fora da página atual.
Antes deste workflow central, primeiro precisamos configurar nosso pop-up para exibir as informações relevantes da playlist do usuário atual.
Comece atualizando o tipo do conteúdo como música. Isso é necessário porque precisaremos armazenar as informações da música ao escolher a qual playlist ela deve ser adicionada.
Em seguida, configuraremos nosso elemento suspenso para exibir dados dinâmicos. O tipo de dados que precisaremos exibir são playlists, a fonte de dados será definida como lista de playlists criadas pelos usuários atuais..
Finalmente, queremos que o texto atual em nosso menu suspenso exiba o nome de cada playlist de nossa fonte disponível.
Agora é hora de começar a criar esse workflow. Começaremos exibindo este pop-up quando o ícone de adição (plus icon) for clicado ao lado de uma música.
Então desejaremos exibir dados dentro de um elemento.
Os dados que queremos exibir são a música das célula atual em nosso novo elemento pop-up.
Depois de enviar esses dados, precisaremos exibir nosso elemento pop-up.
Agora nosso pop-up pode armazenar os dados de uma música individual e exibir uma lista de todas as nossas playlists. Criaremos então um workflow final que adiciona esse item a uma opção selecionada.
Crie um novo workflow quando o botão adicionar à playlist for clicado no pop-up.
Nesse workflow, precisaremos alterar um item no banco de dados. O item que iremos alterar é o Parent group’s Song (pop up) (música do grupo pai), adicionado-a à playlist selecionada no menu suspenso.
Exibindo uma lista de playlists
Depois de criar várias playlists, o processo de exibição deste conteúdo irá replicar o workflow que criamos para exibir músicas em nossa página inicial.
No entanto, desta vez exibiremos a lista de playlists em nossa página de perfil do usuário.
Como o conteúdo da playlist é baseado em uma lista de playlists de usuários, precisaremos configurar este tipo de página como usuário.
O conteúdo dinâmico em nossa página exibirá os dados do usuário atual.
Nota: Se desejar exibir dados de vários usuários em sua plataforma, você pode configurar esses elementos para o usuário da página atual. Abordamos isso com mais detalhes no guia abaixo.
Dentro do grupo repetidor nesta página, configuraremos este tipo de dados como playlists, com a fonte de dados sendo as playlists criadas pelos usuários atuais.
Por fim, criaremos um workflow de navegação adicional quando o título de uma playlist for clicado no grupo repetidor. Este evento irá direcionar o usuário à nossa página da playlist individual para mostrar uma lista de todas as músicas dentro desta playlist.
Exibindo músicas em uma playlist
Em nossa página de playlist, primeiro atualizaremos o tipo da página como playlist.
A seguir, configuraremos nosso grupo repetidor para exibir uma lista de músicas. Desta vez, vamos atualizar a fonte de dados para pesquisar apenas as músicas que foram adicionadas à playlist de nossa página atual (Current Page Playlist).
Para começar a tocar uma música, basta criar outro workflow de navegação, enviando o usuário para nossa página de reprodução, incluindo com ele a música da célula atual.
Criando novos recursos para seu app de streaming
Agora que você está familiarizado com a criação de campos de dados personalizados e exibição de conteúdo dinâmico, pode criar novas experiências em seu aplicativo tipo Spotify no code.
Adicionalmente, você pode:
- Permitir que os artistas categorizem as músicas em álbuns
- Criar recursos de navegação e reprodução mais ricos
- Adicionar uma função de pesquisa para procurar músicas – abordamos isso com mais detalhes em nosso guia Como criar um site tipo Amazon.
ATENÇÃO: Este é um tutorial traduzido para Português a partir do original em Inglês. O Bubble possui dezenas de tutoriais ensinando a criar aplicativos de forma 100% visual, sem precisar programar.
Acesse aqui todos os tutoriais: https://bubble.io/how-to-build
Acesse aqui a versão original deste tutorial em inglês: https://bubble.io/blog/build-spotify-clone-no-code/