Logo
Blog Sem Codar
Aprenda a criar uma plataforma de comunidades como o Reddit, sem precisar programar
No Code Bubble

Aprenda a criar uma plataforma de comunidades como o Reddit, sem precisar programar

Renato Asse

Aprenda como criar seu próprio site de comunidades online no code, usando o editor visual web do Bubble.

Criar site de comunidades como o Reddit Bubble no code

Criar site de comunidades como o Reddit Bubble no code

Comunidades são uma forma poderosa de envolver o público e gerar discussões significativas. Quer se trate de fóruns esportivos, hobbies, trabalho ou nosso favorito pessoal – programação visual – há um hub para cada nicho.

O Reddit é conhecido como uma das plataformas de comunidade online mais populares. Com milhares de subreddits para cada nicho, a plataforma é o lar de algumas das comunidades mais engajadas do mundo. Mas se você é um criador que está interessado em criar uma comunidade, usar uma plataforma de terceiros muitas vezes pode acarretar alguns riscos. Ao hospedar sua comunidade em uma plataforma existente, você está sujeito às regras, políticas e mudanças da plataforma deste provedor.

A melhor solução? Por que não criar sua própria comunidade?

Com o surgimento de ferramentas no code, criadores de todas as origens podem começar a fazer seus próprios softwares, tudo sem escrever uma única linha de código. A poderosa plataforma do Bubble tornou mais fácil do que nunca começar sua jornada de desenvolvimento. Nossos clientes usam o Bubble para criar sites, aplicativos móveis, e claro, comunidades.

Ao longo desse post, vamos descobrir o processo de usar o Bubble para criar sua própria versão ‘white-label’ do Reddit. Compartilharemos um guia passo a passo para criar a lógica subjacente para seu MVP em questão de minutos.

Os passos para criar uma comunidade online tipo Reddit incluem:

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 site juntos.

🏫

Também recomendamos entender como criar e editar contas de usuário. Já cobrimos isso com mais detalhes em nosso guia Como criar um site tipo Quora.

Podemos começar criando um protótipo para o design do site ou criando os campos necessários no banco de dados.

Nesse caso, começaremos usando a ferramenta de design visual para moldar a interface de usuário do nosso site. Ao replicar o Reddit, algumas das páginas principais que você deseja incluir serão:

  • Página inicial – Exibindo uma lista de posts e todos os subreddits disponíveis
  • Página de criação de Subreddit – Um portal usado para criar novos subreddits
  • Página do Subreddit – Exibindo uma lista dos posts em uma comunidade
  • Página de post individual – Exibindo todo o conteúdo de um post

Um recurso importante do Bubble é a capacidade de enviar dados para uma página. Isso significa que você só precisa criar uma versão genérica de uma página que possa refletir informações sobre usuários específicos ou itens em seu banco de dados.

No caso do seu site no code baseado no Reddit, você só precisará criar uma página para hospedar seus subreddits e posts individuais. Podemos então criar a lógica necessária para exibir apenas o conteúdo relevante em cada página quando for necessário.

Configurando seu Reddit no code

Depois de mapear a exibição do seu site, você pode se concentrar na criação dos campos de dados necessários para alimentar seu aplicativo. Contaremos com esses campos para conectar a lógica por trás do seu site.

Criar um banco de dados no Bubble é um processo contínuo. Comece listando seus tipos de dados de nível superior e, em seguida, adicione os campos necessários em cada categoria.

Ao usar o Reddit como MVP, precisaremos criar os seguintes tipos de dados e campos:

  • Tipo de conteúdo: Usuário
    • Campos:
      • Nome de usuário
      • Subreddits participados – Lista de subreddits. Nota: Criando uma lista baseada em dados gerais permitirá que você integre perfeitamente todos os seus campos de dados relevantes, sem ter que criar valores de campo adicionais.

Criar site de comunidades como o Reddit Tipos de Dados e Campos Criar site de comunidades como o Reddit Tipos de Dados e Campos: Usuário

  • Tipo de conteúdo: Subreddit
    • Campos:
      • Nome
      • Posts – Lista de posts
      • Usuários – Lista de usuários

Criar site de comunidades como o Reddit Tipos de Dados e Campos Criar site de comunidades como o Reddit Tipos de Dados e Campos: Subreddit

  • Tipo de conteúdo: Post
    • Campos:
      • Título
      • Conteúdo da post
      • Comentários – Lista de comentários
      • Upvotes – Lista de usuários
      • Downvotes – Lista de usuários

Criar site de comunidades como o Reddit Tipos de Dados e Campos Criar site de comunidades como o Reddit Tipos de Dados e Campos: Post

  • Tipo de conteúdo: Comentário
    • Campos:
      • Post do comentário
      • Conteúdo

Criar site de comunidades como o Reddit Tipos de Dados e Campos Criar site de comunidades como o Reddit Tipos de Dados e Campos: Comentário

Workflows necessários para um site de comunidades tipo Reddit

Agora que você estruturou o design e o banco de dados para seu aplicativo, é hora de começar a juntar tudo e tornar seu site 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.)

Criando subreddits

Uma vez que um usuário tenha criado uma conta, o primeiro recurso principal que vamos focar é a criação de uma página dedicada onde eles podem criar subreddits.

Para o bem do nosso MVP, manteremos o design desta página mínimo, adicionando apenas um elemento de input de texto e um botão.

Criar site de comunidades como o Reddit Button Create

Quando um usuário clica no botão criar, este evento aciona um novo workflow.

Dentro deste workflow, queremos criar um novo item — um subreddit — adicionando a ele o nome do elemento de input e o usuário atual.

Criar site de comunidades como o Reddit Create Subreddit Workflow

Exibindo conteúdo dinâmico na página inicial

Depois de adicionar conteúdo à plataforma, agora você pode exibi-lo em sua página inicial.

A página inicial será usada para mostrar uma lista de todos os subreddits disponíveis em sua plataforma, bem como uma lista de todos os posts dos subreddits que um usuário participa.

Começaremos configurando o elemento de grupo repetidor no lado direito de nossa página que apresenta uma lista de subreddits.

Grupos repetidores se integram ao seu banco de dados para exibir e atualizar uma lista de conteúdo dinâmico.

Criar site de comunidades como o Reddit Repeating Group Subreddit

Ao usar um grupo repetidor, você precisará primeiro vincular o elemento a um tipo de dados em seu banco de dados. Neste caso, você classificará o tipo de conteúdo como subreddits.

Depois de atualizar o tipo de dados, você também precisará adicionar uma fonte de dados – indicando quais subreddits deseja exibir.

Para nosso MVP, vamos simplesmente exibir uma lista de todos os subreddits disponíveis.

Criar site de comunidades como o Reddit Conteúdo Dinâmico Criar site de comunidades como o Reddit Conteúdo Dinâmico

Criando eventos de navegação para o Reddit no code

Dentro de um grupo repetidor, também é possível criar eventos com base em cada linha individual.

Este recurso se tornará útil ao criar eventos de navegação em sua plataforma. Se um usuário quisesse ver todas os posts em um subreddit, ele clicaria no nome da comunidade e seria redirecionado para a página relevante.

Para realizar esse evento, você precisará começar criando um workflow quando o título do subreddit for clicado no grupo repetidor.

Criar site de comunidades como o Reddit Workflow Criar site de comunidades como o Reddit Workflow

A partir daqui, selecione o tipo da página de destino como a página do subreddit.

Criar site de comunidades como o Reddit Navigation Action

Em seguida, você precisará enviar dados adicionais para esta página para que o editor do Bubble saiba qual subreddit específico exibir. Os dados que você precisa exibir são os do subreddit das células atuais.

Agora que terminamos de criar este grupo repetidor, precisaremos configurar o segundo grupo repetidor em nossa página inicial — exibindo uma lista de posts.

Mais uma vez, começaremos configurando o tipo de dados deste grupo repetidor, desta vez definindo-o como post.

Criar site de comunidades como o Reddit Repeating Group Post Criar site de comunidades como o Reddit Repeating Group Post

Ao adicionar uma fonte de dados, também incluiremos uma restrição adicional, garantindo que o usuário veja apenas uma lista de posts que foram publicados nos subreddits participados.

Ao começar a mapear o conteúdo de visualização para cada linha de post, você pode incluir:

  • O nome do subreddit de células atuais em que foi postado
  • Os posts das células atuais e títulos das células atuais
  • Os posts das células atuais, criadores e nome

Criar site de comunidades como o Reddit Post Display Criar site de comunidades como o Reddit Post Display

Criando upvotes

Um dos principais recursos do Reddit que você deseja replicar são as funções de upvote e downvote.

Usando o elemento de ícones, você pode adicionar perfeitamente esses dois recursos e criar um workflow quando eles forem clicados.

Tutorial Criar Reddit no Bubble Upvote Tutorial Criar Reddit no Bubble Upvote

Felizmente, o workflow para criar esta função é direto. No editor de workflow, você vai começar alterando um item no banco de dados.

O item que você deseja alterar é o post das células atuais. O campo de dados que você mudará é o de upvotes do post, adicionando a ele o usuário atual.

Tutorial Criar Reddit no Bubble Upvote Workflow

Ao criar um recurso de voto negativo (downvote), você pode replicar esse workflow — mas ao invés disso alterando o campo de dados de downvote.

Tutorial Criar Reddit no Bubble Downvote Workflow Tutorial Criar Reddit no Bubble Downvote Workflow

Pesquisando subreddits

De volta à nossa página inicial, há um último recurso-chave que precisamos adicionar — uma função para um usuário pesquisar e descobrir livremente novos subreddits nos quais possa estar interessado. Podemos criar facilmente esse recurso usando nosso elemento de caixa de pesquisa.

Ao configurar a lista de busca desse elemento como subreddits, podemos indexar o campo de pesquisa como os nomes dos subreddits.

Criar site de comunidades como o Reddit Search Box

Agora todas as entradas de subreddit disponíveis serão indexadas por seus nomes e até mesmo sugestões de pesquisa serão oferecidas à medida que são digitadas.

Para enviar um usuário à página do subreddit relevante, navegue até o editor de workflow e crie um novo evento que é acionado quando o valor de um input é alterado.

Criar site de comunidades como o Reddit Input Change Workflow Criar site de comunidades como o Reddit Workflow

Exibindo conteúdo dinâmico nas páginas do Reddit

Depois que um usuário é direcionado para um subreddit, precisaremos configurar a página do subreddit para exibir o conteúdo relevante para esta comunidade específica.

Comece atualizando o tipo de conteúdo da página como subreddit.

Criar site de comunidades como o Reddit Page Type

Depois de atualizado, você pode mapear os elementos dinâmicos restantes em sua página.

Criar site de comunidades como o Reddit Subreddit Display Criar site de comunidades como o Reddit Conteúdo Dinâmico

Ingressando em um subreddit

Criar suporte para usuários ingressarem em subreddits pode ser feito facilmente em um workflow direto. Comece acionando um workflow quando o botão de ‘participar’ (join) for clicado.

Bubble No Code Reddit Clone Join Subreddit Bubble No Code Reddit Clone Join A Subreddit Workflow Walkthrough

Em seguida, você optará por alterar um item no banco de dados.

Finalmente, você vai querer fazer alterações no subreddit da página atual adicionando o usuário atual.

Bubble No Code Reddit Clone Join Workflow Step Bubble No Code Reddit Clone Join A Subreddit Workflow Tutorial

Criando um post

Agora que os usuários podem ingressar em subreddits, nosso próximo recurso principal será uma função para publicar posts dentro da comunidade. Iremos acionar esse workflow quando o botão criar post for clicado.

Bubble No Code Reddit Clone Button Create Post

Em vez de redirecionar um usuário para uma nova página, usaremos um elemento pop-up para criar nosso próximo post. Pop-ups são uma maneira útil de exibir informações ou criar eventos sem direcionar o usuário para fora da página atual.

Para exibir um pop-up em seu workflow, comece selecionando a aba ações do elemento, e então opte por mostrar um item.

Bubble No Code Reddit Clone Show Popup Workflow

O workflow restante para a criação de um post seguirá a mesma estrutura da criação de um novo subreddit, mas desta vez incluiremos inputs adicionais para o título e o corpo do post. Também garantiremos que o novo post esteja vinculada ao subreddit da página atual.

Bubble No Code Reddit Clone Create Post Workflow

Assim que o post for criado, adicionaremos uma etapa extra em nosso workflow para ocultar o pop-up.

Bubble No Code Reddit Clone Hide Popup Workflow

O grupo repetidor em sua página de subreddit será atualizado automaticamente em tempo real quando um novo post for criado.

Exibindo e visualizando posts

Ao exibir posts em nossa página de subreddit, você pode duplicar o grupo repetidor existente que criamos anteriormente na página inicial.

Ao adicionar este grupo repetidor, você precisará atualizar a fonte de dados, exibindo posts que foram publicadas no subreddit da página atual.

Bubble No Code Reddit Clone Repeating Group Post Subreddit

Isso garantirá que apenas os posts desta comunidade sejam exibidos. De acordo com nossa pagina inicial, você também pode replicar os mesmos workflows ao criar seus recursos de upvote e downvote para cada post.

Nota: Como cada post armazena seus próprios dados exclusivos, ela sincronizará constantemente a contagem total de upvotes, independentemente de onde seja exibida.

Como os posts em nosso grupo repetidor exibem apenas uma visualização do conteúdo completo — incluindo o título do post, o criador e a descrição — precisamos hospedar o conteúdo completo em uma página separada assim que o usuário clicar.

Para fazer este evento, crie um workflow que direcione o usuário para a página do post, enviando com ele os dados do post da célula atual.

Bubble No Code Reddit Clone Go To Post Page Workflow Bubble No Code Reddit Clone Display Posts Workflow Tutorial

Comentando nos posts

Depois de enviar um usuário para a página do post, primeiro precisaremos configurar o tipo da página para exibir o conteúdo relevante do post.

Bubble No Code Reddit Clone Post Page Type

Mais uma vez, você começará a mapear os elementos da página que gostaria de exibir para cada post.

Bubble No Code Reddit Clone Post Title Display

Por fim, também adicionaremos um novo grupo repetidor nesta página, exibindo os comentários dos posts da página atual (Current Page Post’s).

Bubble No Code Reddit Clone Repeating Group Comments

Abaixo da lista de comentários, também adicionaremos um elemento de texto multilinhas e um botão de comentário. Quando o botão de comentário é clicado, vamos dispara um novo workflow para criar um novo item — um comentário.

Bubble No Code Reddit Clone Button Comment

Assim que o novo comentário for criado, o grupo repetidor na página de post será atualizado com este novo conteúdo.

Bubble No Code Reddit Clone Create Comment Workflow

Recursos adicionais para um site tipo Reddit

Depois de familiarizar-se com a criação de campos de dados personalizados e exibição de conteúdo dinâmico, você pode começar a ser criativo com as experiências criadas em seu site de comunidades no code.

Adicionalmente, você pode:

  • Criar comentários encadeados
  • Criar uma função para enviar mensagens entre os usuários
  • Criar perfis de usuário públicos, exibindo uma lista de cada atividade do usuário
  • Adicionar pontos de carma para cada ação na plataforma (karma points)

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-reddit-clone-no-code/

Renato Asse

Renato Asse

Fundador da Comunidade Sem Codar

Renato Asse é fundador da Comunidade Sem Codar, a maior escola No Code e Inteligência Artificial da América Latina, com mais de 25 mil alunos formados.

Eleito o melhor professor de Bubble do mundo (#1), atua como embaixador oficial da Lovable, Bubble, FlutterFlow e WeWeb no Brasil. Pioneiro no setor, criou o primeiro canal de No Code no Youtube no país, alcançando mensalmente mais de 1 milhão de pessoas.