Seu portifólio/blog a partir da API do TabNews - [Projeto Github]

O TabNews chegou, e com ele vieram diversas possibilides íncriveis.

A ideia que estou desenvolvendo nesse momento consiste em utilizar a API disponibilizada pela plataforma em conjunto com o conteúdo que você produz para centralizar sua produção em sua própria página, podendo ser um portifólio ou um blog.

Mas qual a vantagem disso?

Você já notou que o TabNews não possui um campo para busca de conteúdo nem a possibilidade fazer upload de uma foto de perfil ou nem como seguir um usuário?

Não estou dizendo que um dia a plataforma não vá implementar essas funcionalidades, mas acredito que a escolha de não disponibilizar essas e outras funções seja intencional.

Quando digo que isso foi feito de caso pensado é porque acredito que isso seja trabalho da comunidade, crescer a plataforma e suas possibilidades de forma orgânica. O que já está começando a acontecer.

Se você quer uma página pessoal/profissional com um blog ou portifólio, utilizar a API do TabNews para gerar conteúdo dinâmico para ela trará inúmeras vantagens tanto para o contínuo crescimento do TabNews, quanto para você.

O seu conteúdo será publicado em dois lugares distintos:

  • TabNews
  • Página pessoal.

Fora a indexação no google dos dois lugares.

Visibilidade e Centralização

Quando o conteúdo que você publicar perder visibilidade no TabNews ele ainda estará em destaque na sua página pessoal, fora que as pessoas que gostarem do seu conteúdo saberão onde econtra-lo.

Maior interação de usuários

Uma página pessoal não tem muitas interações com outros usuários. Normalmente, nessas páginas os usuários não se sentem estimulados a interagir.

Utilizando o TabNews você traz a interação da comunidade interna, Tornando seu conteúdo mais relevante para o usuário e o validando com a aprovação de outras pessoas sobre aquilo que você está publicando.

Centralização

Quando você atualizar uma publicação no TabNews ela será atualizada também no seu blog.

Como fazer isso ?

Atualmente eu criei um projeto no Github neste link:

https://github.com/everton-r-franca/tabnews-posts

O projeto ainda está bem no início porém já está fazendo as seguintes funcionalidades:

  • Buscar todas as suas publicações
  • Filtrar comentários e deixando apenas as postagens
  • Buscar uma publicação pelo Slug
  • Buscar comentários de uma publicação espefícica
  • Associar comentários a uma publicação

Com essas funcionalidades básicas já é possível fazer testes em uma página pessoal sua.

Quem desejar ajudar ou contribuir de alguma forma será bem vindo

Próximo passo, será criar um mini blog na prática para ir testando esse conteúdo.

Conforme eu for atualizando vou publicando aqui.

[Edit]

Ainda tenho muito trabalho a realizar, porém vocês já consegue dar uma olhada em como o projeto está ficando nesse link na seção Artigos.

http://quantaclasse.com/

Ainda não atualizei no github, mas farei isso nos próximos dias.

Obrigado por acompanhar o projeto!!!

Esse seria o melhor aproveitamento da plataforma no momento!

Eu digo isso pois o TabNews está muito no começo. Logo, agora é o momento de aproveitar e usar isso a nosso favor, rs.

Não duvido que em poucos meses, esse site já tenha uma maturidade muito maior, e uma relevância significativa no mundo da tecnologia. E quando isso acontecer, quem estiver contribuindo aqui vai ganhar muita visibilidade também! Então agora é o momento de gerar conteúdo aqui, e automaticamente, divulgar esse conteúdo em nossos sites pessoais também!

Bom dia, ainda tenho muito trabalho a realizar, porém você já consegue dar uma olhada em como o projeto está ficando nesse link na seção Artigos. ### http://quantaclasse.com/ Ainda não atualizei no github, mas farei isso nos próximos dias. Obrigado por acompanhar o projeto!!!

Já entrei com watch no seu repositório aguardando os próximos updates ! Mais pra frente quero fazer a integração em um projeto pessoal também, coletando os posts recentes para manter os viewers atualizados.

Bom dia, ainda tenho muito trabalho a realizar, porém você já consegue dar uma olhada em como o projeto está ficando nesse link na seção Artigos. ### http://quantaclasse.com/ Ainda não atualizei no github, mas farei isso nos próximos dias. Obrigado por acompanhar o projeto!!!
Muito obrigado pelo feedback, hoje estou fazendo meu blog pra postar aqui, acredito que dependedo do tempo que eu tenha final de semana já está postado.
Maravilha! Estou ansioso para ver seu blog on junto com a api rodando. Vou usar seu projeto como inspiração para o meu

Legal essa ideia e muito positiva para a comunidade, além de ajudar a divulgar o nosso trabalho para essa comunidade.

Fico feliz com seu feedback positivo. Se tiver interesse atualizei a postagem principal com um pouco do que desenvolvi hoje. Ainda é muito simples e está engatinhando, mas basicamente o projeto já está consumindo a API do tabnews e teoricamente já seria possível utiliza-la para testes.

Tenho apenas uma palavrinha pra você: magnífico!

Dá pra se fazer muita coisa com isso, muito mesmo. aprendi com você o básico sobre a API da tabnews e também descobri com o amigo alí embaixo ( ou em cima haha ) um link com a documentação completa do tabnews, estava procurando e até o momento não havia achado. Meus agradecimentos!

Implementei um blog simples com o tabnews em um projeto que estou desenvolvendo, quem quiser ver como ficou: http://datatools.jvmsolutions.tech/blog/

tem no github tbm: https://github.com/aureliowozhiak/data_collection_tools/

Dei uma olhada no link, esta ficando muito bom! Eu já estou quase terminando o meu aqui. Quando terminar mando o link.
Que massa, se precisar de ajuda, me avise tá? Fiz em Python, com um framework web aqui.
Bom dia, ainda tenho muito trabalho a realizar, porém você já consegue dar uma olhada em como o projeto está ficando nesse link na seção Artigos. ### http://quantaclasse.com/ Ainda não atualizei no github, mas farei isso nos próximos dias. Obrigado por acompanhar o projeto!!!

da ora demais, vou implementar mais uma página no meu portfóli (em andamento). ;)

anda seu portifólio aí pra servir de inspiração pra galera!!!

Curti muito a idéia, estou trabalhando em um projeto pessoal e isso vai ser muito útil pra mim.

Cara que legal, ideia muito massa. Adorei a existencia dessa API e mal posso esperar para paginás e aplicativos extremamente personalizados. Fico só imaginando o tanto de coisa que da pra fazer como por exemplo intergrar com a Alexa ou Bots do Discord

Que genial, eu ando pensando em construir um portifólio e posso usar minhas postagens daqui para deixar lá com algumas informações mais robustas. Que legal, obrigado pela informação!

Também pensei o mesmo, possuo um portfólio, e já consumo a API do github nele para manter minha bio sempre atualizada, agora vou trabalhar para adicionar a API do Tabnews e sempre que eu criar algum post por aqui, quem visitar meu portfólio também terá acesso ao conteúdo criado.
Posso ver seu portifólio? Gostaria de ver para ter uma inspiração de como é um bom portifólio.

Pra quem quiser se aventurar em criar algo com Python, tá super simples:

import requests

user = "aureliowozhiak"

r = requests.get(f"https://www.tabnews.com.br/api/v1/contents/{user}")

all_user_content = json.loads(r.text)

Isso vai retornar uma lista de dicionários, ou seja, você vai poder navegar por indíce pra achar os conteúdos em ordem cronológica (sendo o indíce 0 o mais novo, e o indíce -1 (ou o último) o mais antigo, e achar todas informações necessárias dentro do dicionário:

Pegando o indíce 0, eu encontrei o último comentário que fiz antes desse aqui (assim que eu postar aqui, esse comentário vai se tornar o 0, por exemplo)

print(all_user_content[0])

{'id': '83601c14-1771-43bf-a21e-b2109415a7e7', 'owner_id': 'f3cf10e8-d6ef-4624-b38b-d42fd62b07c6', 'parent_id': '43df644c-1cb3-4b6a-8914-11b8cd13d40f', 'slug': '918f25e9-3e9c-43a2-ac20-58f811ab535d', 'title': None, 'body': 'super interessante, mas 4chan me preocupa um pouco', 'status': 'published', 'source_url': None, 'created_at': '2022-11-23T10:35:17.849Z', 'updated_at': '2022-11-23T10:35:17.849Z', 'published_at': '2022-11-23T10:35:17.887Z', 'deleted_at': None, 'owner_username': 'aureliowozhiak', 'tabcoins': 0, 'children_deep_count': 0}

Se eu quiser pegar o corpo do conteúdo, é só puxar a chave "body":

print(all_user_content[0]['body'])

Nesse caso, retornou o comentário que mencionei antes:

"super interessante, mas 4chan me preocupa um pouco"

e é isso, super simples trabalhar com esse dicionário que retorna da API.

:warning: Complementem aqui nas responstas que vou atualizando se necessário! :warning:

Sabe de alguma limitação da API? Percebi que o `/contents/` retorna tudo da página principal. É o relevantes? Sabe de alguma documentação? Seu post já deu uma ideia do que é possível, mas tenho medo de pressionar o servidor demais ou algo assim.
Vou replicar aqui a resposta do [@rafael](https://www.tabnews.com.br/rafael) em um comentário mais abaixo: - [Documentação da API do TabNews](https://www.tabnews.com.br/GabrielSozinho/documentacao-da-api-do-tabnews), do [@GabrielSozinho](https://www.tabnews.com.br/GabrielSozinho) - [Pitch: Minha documentação da API do tabnews](https://www.tabnews.com.br/coffeeispower/pitch-minha-documentacao-da-api-do-tabnews), do [@coffeeispower](https://www.tabnews.com.br/coffeeispower) Quanto ao seu questionamento `/contents/` Eu ainda não testei então não sei qual o valor default, mas segundo a documentação `` GET {{BaseUrl}}/contents?page={pagina}&per_page={porPagina}&strategy={estrategia} `` Você pode definir a estratégia na query string com **new**, **old** ou **relevant** que definirá qual será a ordem retornada.
Boa!!! realmente o uso da API é muito simples. Só um adendo, caso você deseje pegar apenas as publicações e não comentários de uma publicação, é possível filtrar pelo `title`, quando `title !== null` é uma publicação, caso contrário é um comentário dentro de uma publicação.

Achei sensacional e vou pensar aqui numa forma de aplicar isso em uma sessão de meu próprio portifólio - chamada "Artigos" - utilizando a API do TabNews.

Que maravilha!!! é ótimo receber feedback positivos como o seu. Se tiver interesse atualizei a postagem principal com um pouco do que desenvolvi hoje. Ainda é muito simples e está engatinhando, mas basicamente o projeto já está consumindo a API do tabnews e teoricamente já seria possível utiliza-la para testes.

Eu entendi correto? Será possível ADICIONAR conteúdo no tabnews através das apis? 😮

Na verdade, isso já é possível. Tem duas documentações não-oficiais da API aqui do TabNews que você pode usar como referência para ver as rotas de publicação de conteúdo: * [Documentação da API do TabNews](https://www.tabnews.com.br/GabrielSozinho/documentacao-da-api-do-tabnews), do [@GabrielSozinho](https://www.tabnews.com.br/GabrielSozinho) * [Pitch: Minha documentação da API do tabnews](https://www.tabnews.com.br/coffeeispower/pitch-minha-documentacao-da-api-do-tabnews), do [@coffeeispower](https://www.tabnews.com.br/coffeeispower) E você pode usar a API para criar uma extensão, aplicativo mobile ou outras coisas, conforme algumas pessoas já estão publicando aqui no TabNews.

Cara, sensacional a idéia! Com certeza pretendo me aprofundar mais na plataforma em breve e começar a contribuir e utilizar pros meus trabalhos =D

Acho a ideia muito massa. Estava com vontade de construir um portfolio com um blog em conjunto (mesmo estilo do Akita), ou até mesmo com o blog puxando pelo Medium / DevTo.

Seria uma ótima interagir com nossa comunidade e ainda dar uma forcinha no portfolio.

Ideia muito massa.

Upvoted!

É uma excelente ideia, inclusive estive pensando num futuro é claro que o TabNews inclusive poderia trabalhar de uma forma setorizada para que seu conteúdo fosse bem mais amplo e não somente de informática, virando praticamente um Reddit melhorado, então poderiamos ter várias sessões com vários asssuntos.

Pensei nisso, ao menos acredito que muitos aqui são da área de tecnologia e provavelmente têm um site-portifólio, nem que seja só um pages do github. Dá pra puxar os conteúdos do seu perfil e adicionar no seu site como uma espécie de blog mesmo, um blog integrado ao site-portifólio parece algo que seria muito interessante, ao menos eu farei isso em breve.

Daria um bom projeto usar o TabNews pra compartilhar os posts e receber o feedback da comunidade, graças a userbase já definida e usar algum metaframework como Next.js pra catar todos os seus posts e gerar esses mesmos posts da forma que você quiser no seu blog. É uma forma legal de guardar portfólio e se, eventualmente, o TabNews for de ralo espero que não aconteça, você vai conseguir ter registros disso.

Se "o TabNews for pro ralo" e você estiver obtendo as publicações pela API, não adiantará nada. Precisaria armazenar suas publicações num local de sua responsabilidade para garantir que ainda teria acesso à elas, seja um HD local ou um banco na nuvem.
Mas se em algum momento você acabou gerando essas páginas, elas não se perdem 🤔 Por exemplo, se você usa algum SSG pra isso, você só vai perder se der um redeploy
Apenas consumir as informações da API não garantiria um BKP dos dados caso a plataforma "vá pro ralo", mas dependendo da lógiga que você implementar é possível sim, então acredito que vá depender mais de como cada um desenvolveria, eu particularmente não manteria BKP dos posts.
Vou testar essas ideias nos próximos dias, tem muita coisa que dá pra fazer com a API.
Compartilha pra gente o resultado quando puder. :)
Hoje fiz uma pequena atualização desse meu projeto. Se quiser dar uma olhada atualizei a postagem principal de como estou imaginando que pode ser feito.

Existem vários usuários que apenas replicam os textos de seus Mediums e Blogs pessoais aqui.

Com essa idéia ajudaria muito a resolver um pouco isso! upvoted.

Exatamente, fora que simplifica bastante a manutenção das postagens. Por exemplo, você posta um tutorial e depois precisa atualiza-lo, se você centraliza essas informações fica mais fácil de atualizar.
Não entendi como ajudaria. Nos blogs pessoais até que poderia, se a pessoa consumir a API daqui conforme sugerido na publicação do @evertonribas, mas no Medium? O Medium permite você consumir um endpoint externo para replicar conteúdo lá?

Muito bom, cara! Obrigado pela ideia :)

Inclusive guys, isso é ótimo para criar conteúdos e publicar no seu portfólio! É isso que farei hoje :D

Impressionante, não sabia disso.