Description
Turma, está chegando o momento de implementarmos a primeira versão da Revenue Share.
Serão criados os espaços de anúncios que vão ser divididos entre os mantenedores do TabNews e os usuários que participam do ciclo que cria valor no sistema (criação de conteúdos/comentários e qualificações).
Obs. 1: O TabCash que os mantenedores recebem individualmente com seus usuários ao participarem do ciclo do TabNews não conta como a parte do sistema na divisão, pois eles estão sujeitos às mesmas regras de contribuição de todos usuários.
Obs. 2: Não vai existir uma maneira de comprar espaços de anúncios através de pagamento em dinheiro, mas quem tem direito à espaços de anúncios poderá usá-los da forma achar melhor, desde que respeite os termos de uso, então pode inclusive vender seus espaços, mas terá que publicar o anúncio com seu usuário e será responsável por ele.
Podemos ter diferentes formatos de anúncios, como os “banners”, “destaque nos resultados de pesquisas”, “publicações promovidas” etc.
Acho que o mais simples para o início deve ser implementar as “publicações promovidas”. Penso assim tanto em termos de mecânica de funcionamento, como de adaptação da interface web, compatibilidade com Apps não oficiais e outros sites que usam a API.
Como os “banners” e “destaques nos resultados de busca” exigem a elaboração de mecânicas mais complexas, podemos reservá-los, pelo menos no início, aos anúncios publicados pelos mantenedores do TabNews. E em uma versão futura (em outra milestone) podemos criar formas do próprio TabNews ganhar parte do TabCash gerado e poder participar das publicações promovidas, assim como dos usuários usarem TabCash para anunciar em formato de banner.
Sobre os destaques em resultados, enquanto não temos um sistema de busca próprio, não podemos implementar nada que possibilite medir o alcance de forma simples. A busca hoje usa o próprio Google, e eu configurei alguns anúncios dos projetos do Filipe para aparecerem quando for pesquisado por algo relacionado, mas, pelo menos por enquanto, não temos nenhuma estatística de visualizações e cliques nesses resultados. Os únicos dados que temos são sobre a frequência de consultas dos termos mais pesquisados, mas nada específico dos anúncios.
Então acredito que os pontos de destaque da milestone ainda são:
- Publicações Promovidas #1491
- Atualizar Termos de Uso (e colocar link no cadastro) #1153
- Banner de Propaganda #1492
- Sugestão: Funcionalidade de denúncia/reportar conteúdos #877
- LISTA EM CONSTRUÇÃO
E permanecem no radar para quem quiser adiantar:
- A validação de email+senha deve tomar o mesmo tempo quando o usuário existe ou não #186
- [FEATURE/SUGESTÃO] Quantidade de visualizações em uma publicação #1115
- Implementar Two Factor #1171
- Migrar RDS de
sa-east-1
paraus-east-1
(ou outro provider como Supabase) #1172 - Mensagem global para anúncios #1181
- Adequar a página de conteúdos e o componente
Content
para lidar melhor com alterações nos dados #1376 - Barra de scroll sobrepondo o modal de confirmação. #1627
- Facilitar a cópia de âncoras para títulos de conteúdos #1659
- Adicionar paginação no endpoint /users e criar página para listar usuários #1675
- LISTA EM CONSTRUÇÃO
Em paralelo, já foram desenvolvidas durante a Milestone:
- Índices no Banco de Dados #1156
- Como testar em mobile? #1263
- Ajustes necessários no firewall interno (limite de usuários e publicações por IP) #1463
- [UX] Facilitar o entendimento dos campos dos formulários #1529
- MODEL:CONTENT:CREDIT_OR_DEBIT_TABCOINS:NEGATIVE_USER_EARNINGS #1540
- [Feature/Melhoria] Migrar do Jest para Vitest #1631
- Adiciona
id
em títulos de conteúdos e nos conteúdos #1635 - Permitir filtrar testes em qualquer modo de execução #1644
- Refatorar componentes de e-mail #1645
- Migração para criar novas tabelas de saldo #1656
- Permitir desabilitar rotas temporariamente pela variável de ambiente
UNDER_MAINTENANCE
#1662 - feat(error message text): add
createErrorMessage
function #1663 - Cria componente de paginação e teste de unidade no frontend #1668
- Corrige o código de status da resposta da API para o método
OPTIONS
de404
para200
#1678 - Não é possível editar ou apagar um conteúdo usando apenas o teclado #1681
- Refatora
validator
e corrige validação denull
caso o campo seja obrigatório #1685 - Diminui a quantidade de campos e o tamanho total dos logs enviados para o Axiom #1696
- Corrige os testes de limite de tamanho do
slug
#1704 - Refatoração da validação da presença do título nos conteúdos #1705
- Corrige typo em
content
(contend
) #1706 - Remove
async
desnecessário depagination.get
#1707 - Usar
RequestBuilder
em mais testes de conteúdos #1708 - Remove a biblioteca
cross-fetch
e muda aset-cookie-parser
paradevDependencies
#1715 - Estabiliza testes que falham eventualmente #1720
- Mensagem de erro ao tentar publicar novo conteúdo #1721
- Habilita mais regras do ESLint #1723
- Usa o módulo
crypto
para gerar UUIDs e move ouuid
paradevDependencies
#1725 - Remove propriedade obsoleta
version
do Docker Compose #1726 - Salvar nos eventos o histórico de alterações de
username
#1727 - Remove validação de existência do
parent_id
ao modificar um conteúdo #1728 - Diminui idas ao banco de dados na criação e edição de conteúdos, e na edição de usuários #1729
- Atualiza todas as dependências possíveis #1733
- Corrige o CSS gerado após atualização para o Next.js 14.2 #1734
- Corrige parâmetros de paginação para serem dinâmicos e incluir
with_root
ewith_children
emGET /contents
#1735 - Diminui idas ao banco de dados na edição de usuários e na validação do token de confirmação do e-mail #1737
- Reserva
usernames
que podem ser usados para URLs da Revenue Share ou de outras funcionalidades #1738 - [C.I.] Remove o cache da pasta
/.next/cache
e atualiza as outrasactions
#1755 - Atualiza Node.js para v20 e usa o
crypto
de maneira compatível com a Edge #1768 - Sempre validar se
username
é único antes de validar o mesmo para oemail
#1772 - LISTA EM CONSTRUÇÃO
Activity