[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)
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
eTodos
(#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)
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)
Figura 3: Votos na lista de conteúdos | Figura 4: Votos no conteúdo |
- Criada página de perguntas frequentes (FAQ) (#1581, #1605 e #1625)
- Adiciona Turnstile para executar os desafios de segurança da Cloudflare (#1613)
Figura 5: Cloudflare Turnstile |
- Criados componentes de email utilizando a biblioteca
react-email
(#1606) - Adicionado ao museu o artigo "A Evolução do TabNews — da Concepção ao Lançamento" (#1582)
Acessibilidade/UX/SEO
- Adicionados ou alterados ícones dos menus (#1562)
- Indicar quando já estamos na página de cada link do menu (#1562)
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 dav20
no (#1565) - Tratado erro de desconexão com banco de dados no descongelamento das lambdas (#1570)
- Atualiza
primer/react
parav36.4.0
,primer/octicons-react
parav19.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)
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 av2
(#1573) passou a truncar ousername
em caso de falta de espaço.
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:
- @aprendendofelipe
- @diegosano
- @eduardocorreas
- @eletroswing
- @ErickBessa
- @ErickCReis
- @filipedeschamps
- @gabrielsozinho
- @hitmain13
- @hkotsubo
- @kaique-soares
- @mthmcalixto
- @Rafatcb
- @repires
- @Ryannnkl
- @smrsassa
- @zenorocha
Concluindo
E com isso podemos concluir a Milestone 6, a mais longa até o momento:
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. 🚀