Executando verificação de segurança...
46

[TabNews] Encerramento da Milestone 6

Fala Turma, tudo bem com vocês?

Chegamos ao término da Milestone 6 no desenvolvimento do TabNews, onde o objetivo foi a otimização de desempenho e segurança.

Hoje venho destacar as principais melhorias implementadas no final da Milestone, desde a publicação comemorativa do aniversário de 1 ano de lançamento.

Dada a extensão das melhorias, desta vez apresentarei apenas uma lista resumida. Os detalhes e discussões sobre cada implementação podem ser encontrados nos links dos PRs, bem como nas issues relacionadas.

Novas funcionalidades

  • Mostrar mais dados no Perfil (saldos de TabCoins e TabCash, data de cadastro e link para editar) (#1558)
  • Separadas as abas de Perfil, Publicações e Comentários (#1577)
user_profile_page
Figura 1: Novas informações no perfil do usuário
  • API: Filtrar conteúdos de um usuário por tipo (publicação e/ou comentário) (#1188)
  • Adicionadas abas de Recentes para Comentários e Todos (#1588 e #1593)
  • API: Filtrar conteúdos por tipo (publicação e/ou comentário) (#1601)
  • Criada permissão para moderadores editarem perfil de outros usuários (#1615)
  • Armazenados eventos de edição do perfil, similar ao que ocorre na edição de um conteúdo (#1615)
  • Adicionado botão de copiar trecho de código (#1563)
Clique aqui >>>
para copiar
  • Destacar nos comentários o autor da publicação principal da página (#1589)
author
Figura 2: Identificador do autor nos comentários
  • Exibir (e retornar via API) a quantidade de qualificações positivas e negativas do conteúdo (#1607)
Página da lista de conteúdosPágina do conteúdo
Figura 3: Votos na lista de conteúdosFigura 4: Votos no conteúdo
Turnstile
Figura 5: Cloudflare Turnstile

Acessibilidade/UX/SEO

  • Adicionados ou alterados ícones dos menus (#1562)
  • Indicar quando já estamos na página de cada link do menu (#1562)
ícones do menu
Figura 6: Menu com ícones e indicador da página atual
  • Melhoria na mensagem de aviso após alteração de email cadastrado (#1578)
  • Salvar Email no autocomplete ao invés do Nome de Usuário (#1584)
  • Usar a tag time para melhorar a indexação e apresentar corretamente a data de postagem das publicações nos resultados de busca (#1573)
  • Adequações em diversas tags com foco em acessibilidade e SEO (#1580)
  • Melhora ou adiciona labels nos formulários (#1580)
  • Adicionar rel="nofollow" nos links de conteúdos gerados por usuário (#1603)
  • Exibir sugestão randômica de título no placeholder ao criar conteúdo (#1604)
  • Melhora na mensagem de confirmação ao alterar username (#1617)
  • Retornar resposta da criação de conteúdo independente do resultado da notificação (#1630)
  • Aumenta o espaçamento entre o saldo e os botões de TabCoins (#1633)

Sistema/DevEx/Refatoração

  • Atualização do Node.js para v18 (#1572), com teste da v20 no (#1565)
  • Tratado erro de desconexão com banco de dados no descongelamento das lambdas (#1570)
  • Atualiza primer/react para v36.4.0, primer/octicons-react para v19.8.0 e faz as adequações necessárias (#1578)
  • Criados templates de issues e PRs (#1574)
  • Usar variáveis de ambiente no docker-compose.development.yml (#1602)
  • Criar o CONTRIBUTING.md (#1583)
  • Ajustes nas funções do authorization para deixá-las mais seguras e fáceis de entender (#1618)
  • Simplifica a leitura dos scripts do package.json ao unificar comandos repetidos (#1621)
  • Atualiza todas as dependências possíveis (#1622)
  • Altera os tipos de transações de conteúdos na tabela balance_operations (#1624)
  • Atualiza regras de lint e corrige problemas apontados pelo DeepScan (#1629)
  • Configura Mailgun como serviço de email transacional de contingência ao Resend (#1632)

Correções de Bugs

  • Corrige o valor debitado de TabCoins ao excluir conteúdo avaliado como relevante (#1554)
  • Faz aparecer as opções de classificação dos resultados na versão mobile da barra de pesquisa (#1559)
image image
Figura 7: Opções de ordenação de resultados da busca
  • Limitado tamanho do slug. Diminui o limite de 255 para 226 bytes para evitar erros na Vercel (#1560)
  • Rolagem horizontal por falta de espaço na lista de conteúdos. A v1 (#1562) corrigia com quebra de linha, mas a v2 (#1573) passou a truncar o username em caso de falta de espaço.
image
Figura 8: Nomes dos usuários truncados por falta de espaço
  • Rolagem horizontal por falta de espaço no Header. Passa a barra de busca para dentro do menu em telas muito pequenas (#1562)
  • Quebra do saldo de TabCoins e TabCash em diferentes linhas na página de perfil em telas pequenas. Evitada a quebra de linha (#1573)
  • Corrige texto TabCoin no singular na página de perfil (#1590)
  • Corrige numeração dos itens nas listas de conteúdos (#1594)
  • Corrige a navegação pelo menu utilizando o teclado (#1595)
  • Criado um Tooltip customizado para corrigir bugs do Primer (#1589)
  • Torna visível o Tooltip do ícone de exibir/ocultar a senha (#1620)
  • Correção de bugs na edição de perfil (#1615)
  • Correção dos nomes dos erros nos logs (#1628)

Contribuidores

Passamos de 70 contribuidores com código mesclado. 🎉🎉🎉

Deixamos nossos agradecimentos à Turma que colaborou de alguma forma com as últimas melhorias que chegaram em produção:

Concluindo

E com isso podemos concluir a Milestone 6, a mais longa até o momento:

user_profile_page
Figura 9: Fechando a Milestone no GitHub

Próximos passos

O desafio agora é criar ferramentas para que os autores possam utilizar seu TabCash.

A ideia é que o TabCash possa ser utilizado para o compartilhamento de espaços publicitários, então em breve traremos uma publicação que irá inaugurar a Milestone 7 - Revenue Share, mas as contribuições já podem ser enviadas. 🚀

Carregando publicação patrocinada...
6

Que sensacionaaaaaal!!! E muita coisa de valor destacada nessa publicação, valores de vários tipos inclusive, por exemplo:

Fui navegar naquela publicação no Museu sobre a evolução do TabNews que o GabrielSoziho criou e eu não lembrava que a árvore dos comentários ia gradativamente diminuindo espaço na esquerda e direita. Não lembrava que o menu lá em cima tinha um botão gigantesco verde para criar conteúdo... caramba como está legal acompanhar toda a evolução do projeto!

É só não parar, que sem perceber o projeto organicamente vai se transformando em algo melhor. Parabéns a todos os envolvidos 🤝

PS: o Figura 5 e Figura 6 parecem estar quebrados aqui para mim.

3

Não lembrava que o menu lá em cima tinha um botão gigantesco verde para criar conteúdo...

Eu não cheguei a ver esse botão em produção. Ele foi movido para o menu pouco antes de eu conhecer o TabNews.

Já a árvore de comentários ainda possui pendências (#379).

PS: o Figura 5 e Figura 6 parecem estar quebrados aqui para mim.

As duas imagens que eu tinha aproveitado do GitHub. 😒 Mudei elas para o imgpile, como os demais.

2

Quanta evolução! É muito massa fazer parte dessa comunidade e ver esse projeto crescendo e melhorando cada vez mais.

Uma dúvida, existe algum Changelog sem ser publicações como essa?

3

Uma dúvida, existe algum Changelog sem ser publicações como essa?

Excelente pergunta meu caro! Não há changelog no sentido de releases oficiais, como em um software que utiliza Semantic Versioning, por exemplo. Tudo que é mesclado na branch main por padrão acaba entrando em produção automaticamente. Então o que de fato está acontecendo com o projeto é o que acontece lá no repositório através das Issues e Pull Requests 🤝

2

Até dá pra criar um changelog automático pelos commits, até pq o repo ja usa commits no padrão usual (feat, fix, chore...) o que controla o changelog é a versão da app no package.json, entçao os commits indo pra produção nao seria bem um problema. Seria apenas um problema conceitual

4

Novamente, todos estão de parabéns pelo encerramento dessa Milestone!! E muito obrigado por detalhar tudo nesse post FelipeBarso!

E eu estou muito curioso de como a próxima, de Revenue Share, vai se desenvolver! Eu tenho certeza que vai ser uma das mais, se não a mais desafiadora de todo o desenvolvimento do TabNews...

2

Acho muito interessante que um conteúdo postado há 27 dias consiga voltar ao top 20 do TabNews (no momento em que escrevo está em 14˚).

Faz todo sentido uma publicação grande e relevante como essa manter destaque suficiente para continuar aparecendo na primeira página.

Parabéns pelo bom trabalho; certamente outras boas publicações também ressurgem do passado para capturar a atenção de novos olhos curiosos.

1
1