Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Milestone 6 - Performance e Segurança #1140

Closed
filipedeschamps opened this issue Dec 19, 2022 · 23 comments
Closed

Milestone 6 - Performance e Segurança #1140

filipedeschamps opened this issue Dec 19, 2022 · 23 comments

Comments

@filipedeschamps
Copy link
Owner

filipedeschamps commented Dec 19, 2022

Turma, chegou a hora de organizarmos a nova fase do desenvolvimento do TabNews e dar destaque a todas as contribuições que estão acontecendo pela melhor comunidade open source do Brasil. Tudo vai seguir da mesma forma que antes, porém com uma novidade muito interessante: quem irá liderar a Milestone 6 é o @aprendendofelipe 😍 💪 👍 🤝

O @aprendendofelipe é um dos contribuidores mais ativos do projeto, possui acesso de escrita e deploy e foi o responsável por levar para produção todos os últimos Pull Requests que a comunidade fez nas últimas semanas. Dado a isso, realizei um call com ele semana passada onde discutimos alguns pontos do projeto e, de surpresa, fiz o convite para ele liderar esta Milestone e turma, ele aceitou 😍 😍 😍 Eu fico genuinamente feliz com isto, pois assim conseguirei dar mais atenção ao curso que estou desenvolvendo sem precisar parar de fazer vídeos para o canal 🤝

Então eu irei dar o pontapé inicial na organização das tarefas para logo mais para frente passar de fato o bastão para o @aprendendofelipe 👍

Bom, você já deve ter visto no título da issue que o nome desta Milestone é Performance e Segurança onde, independente de outras implementações que forem feitas, ter este norte nos ajuda a não nos esquecermos do que de fato o projeto está mais precisando no momento, principalmente para conseguirmos dar o próximo passo que é a Milestone de Revenue Share. Mas novamente, outras implementações são bem vindas, como a estabilização da implementação sobre o Dark Mode que diariamente as pessoas estão pedindo.

Então para executarmos esta Milestone sugiro dividirmos as tarefas novamente em 3 categorias:

  1. Performance
  2. Segurança
  3. Melhorias

Vou descrever cada uma abaixo, mas esta lista por enquanto é um Rascunho que irá pegar itens que já foram executados (mas não foram registrados em Milestones) e irá dar a estrutura necessária para registrar os novos itens.

Performance

Este são os itens que irão melhorar a performance e usabilidade do TabNews e neste ponto há muitas oportunidades, principalmente no backend (como criação de índices no banco de dados).

Segurança

Esta categoria envolve tanto a segurança técnica do sistema quanto a segurança da economia do TabNews.

Na parte técnica, devemos considerar desde, por exemplo, acessos não autorizados, a estabilidade do sistema e gerenciamento de erro. Na parte da economia, devemos considerar mecânicas para evitar abusos das TabCoins e expor o máximo de informação para as pessoas da comunidade conseguirem identificar manipulações, como por exemplo, expor quem deu up/down vote ([Edit] apenas a moderação pode ver quem e como votou).

Melhorias

Esta é uma categoria aberta e que deve listar todas as lapidações que o projeto vem recebendo.

@filipedeschamps
Copy link
Owner Author

@aprendendofelipe registrei aqui tudo o que eu tinha no meu histórico (tirando um item que você executou, mas que sugiro aguardamos um fix naquele módulo third party antes de anunciarmos).

Uma pergunta: por ter write no repositório, você consegue editar o corpo da issue ali de cima?

@aprendendofelipe
Copy link
Collaborator

@aprendendofelipe registrei aqui tudo o que eu tinha no meu histórico (tirando um item que você executou, mas que sugiro aguardamos um fix naquele módulo third party antes de anunciarmos).

Uma pergunta: por ter write no repositório, você consegue editar o corpo da issue ali de cima?

Boa @filipedeschamps! Eu consigo editar sim, então mais tarde vou adicionando os outros PRs 🚀

@brunofamiliar
Copy link
Contributor

Show! Vou tentar acompanhar mais de perto essa Milestone

@filipedeschamps
Copy link
Owner Author

Turma, eu não sei se esqueci de algo, mas acho que cadastrei todos os itens que eu tinha aqui na fila de espera sobre performance e segurança (dos que podem ficar públicos, por enquanto).

@aprendendofelipe
Copy link
Collaborator

O que acham de adicionar a possibilidade de mostrarmos mensagens na página de status do sistema?

Acho que seria bom acrescentar isso nessa milestone para podermos deixar avisado por ali durante momentos de instabilidade que podem ocorrer, por exemplo, na migração da região do BD.

Acho que é uma boa oportunidade de usarmos a Edge Config para criar essas mensagens sem depender do banco de dados, de serviços externos e nem de um novo deploy.

@gSarciotto
Copy link

Duvida, como saberemos se realmente havera uma melhora de performance, nos temos metricas sobre esses items?

@filipedeschamps
Copy link
Owner Author

O que acham de adicionar a possibilidade de mostrarmos mensagens na página de status do sistema?

Acho massa! A gente poderia fazer um endpoint "mock" que na verdade só bate no Middleware, busca esse valor e retorna no corpo, dado que agora é possível retornar Responde Body pelo Middleware:

allowMiddlewareResponseBody: true,

Vou criar a issue 🤝

Duvida, como saberemos se realmente havera uma melhora de performance, nos temos metricas sobre esses items?

Ótima pergunta @gSarciotto! Geralmente nós mensuramos com um antes e depois, veja dois exemplos:

Veja o item 3) Remoção de múltiplas idas ao banco na consulta de contents:
https://www.tabnews.com.br/filipedeschamps/novas-melhorias-mais-contexto-nas-notifacoes-por-email-e-outras-8-melhorias

Veja o item 2) Páginas abrindo ainda mais rápidas (implementação monstra feita pelo @aprendendofelipe)
https://www.tabnews.com.br/filipedeschamps/novas-melhorias-rss-e-mais-7-melhorias

@silvaezequias
Copy link
Contributor

O #923 é considerado uma melhoria para ser adicionado nessa Milestone?

@filipedeschamps
Copy link
Owner Author

@ezequiaslopesdasilva com certeza! Na verdade qualquer melhoria pode entrar nesta Milestone 🤝 você chegou a ver o comentário do @aprendendofelipe lá no PR?

@filipedeschamps
Copy link
Owner Author

Em paralelo, acabei de criar uma publicação no TabNews anunciando este draft e um pouco da minha visão sobre o futuro da plataforma: https://www.tabnews.com.br/filipedeschamps/milestone-6-performance-e-seguranca-draft

@sudo-give-me-coffee
Copy link

sudo-give-me-coffee commented Feb 12, 2023

Limitar uma publicação a 1 upvote e 1 downvote por usuário seria algo interessante a se fazer, é uma segurança anti ataques

Considerando as funções de TabCoin x TabCash permitir multiplos up e down votes faz as TabCoins perderem a função de moderação passando a se comportar como avaliação subjetiva de conteúdo ao invés objetiva e torna as TabCash invalidadas uma vez que não mais refletem ao trabalho da pessoa em prol da comunidade mas em prol apenas do que ela fez em benefício próprio

@filipedeschamps
Copy link
Owner Author

@sudo-give-me-coffee show, você poderia elaborar inclusive isso nessa issue? #1166

@brunofamiliar
Copy link
Contributor

brunofamiliar commented Jul 23, 2023

Nossa, li bastantes issues e minha mente tá explodindo 🤯🤯. Quanta coisa perdi, faço nem ideia como posso ajuda-los kk a barra subiu. Vi que tem muitas issues sem iteração, como fica o andamentos destas issues?

@aprendendofelipe
Copy link
Collaborator

Vi que tem muitas issues sem iteração, como fica o andamentos destas issues?

Provavelmente estão aguardando interações. 💪

Se são assuntos que ainda precisam de mais discussão e/ou falta alguma implementação, elas estão ficando abertas para facilitar para quem tenha algo a contribuir, pois, se forem fechadas, vão sendo criadas novas issues com o mesmo foco, mas que não consideram as discussões anteriores, e isso dificulta a evolução das soluções.

Provavelmente algumas já podem ser fechadas, seja porque estão fora do radar, mas algumas porque o problema foi resolvido parcialmente. E nesses casos talvez seja melhor abrir novas issues com o problema atualizado, explicando apenas o que falta implementar. Já em outras é melhor manter todo o contexto existente até a solução mais completa ser implementada. 👍

@brunofamiliar
Copy link
Contributor

Booa Felipe! Só pra me situar, estão priorizando a atuação em ordem na qual estão listadas as atividades nessa milestone, ou não necessariamente?

@aprendendofelipe
Copy link
Collaborator

Não necessariamente.

As maiores prioridades da milestone já foram concluídas, e o que sobrar dessa lista deve ser transferido para a Milestone da Revenue Share

@filipedeschamps filipedeschamps changed the title Milestone 6 - Performance e Segurança [DRAFT] Milestone 6 - Performance e Segurança Dec 18, 2023
@Rafatcb
Copy link
Collaborator

Rafatcb commented Feb 18, 2024

@aprendendofelipe acha que faz sentido encerrar esse issue e a Milestone 6, e organizar a Milestone 7 (#1490)? Precisa de ajuda com algo?

@aprendendofelipe
Copy link
Collaborator

Também estou com essa dúvida sobre organizar aqui ou na 7 tudo que foi feito recentemente. Não sei se o Filipe irá parar com os vídeos para encerramento/abertura das Milestones, mas, até pelos tipos de implementações que estão sendo realizadas, acredito que não começamos a Milestone 7.

@Rafatcb
Copy link
Collaborator

Rafatcb commented Feb 18, 2024

Também estou com essa dúvida sobre organizar aqui ou na 7 tudo que foi feito recentemente.

O que foi feito até agora podemos considerar da Milestone 6, já que a 7 não foi oficialmente iniciada. Creio que mesmo o issue do FAQ, que foi citado em #1490, pode ser movido para esta lista. O mesmo raciocínio vale para os outros issues resolvidos que foram citados lá.

Não sei se o Filipe irá parar com os vídeos para encerramento/abertura das Milestones

Eu já não lembrava desses vídeos, mas vendo a playlist, a Milestone 6 não teve uma live de inauguração.

@filipedeschamps
Copy link
Owner Author

Fala turma! Acredito que o foco de produção de vídeos acabou ficando no curso e acho mais válido ao invés de uma live sobre a Milestone 7, lançar um vídeo no canal.

Estava pensando aqui sobre qual melhor momento, fazer no início da Milestone ou no final dela e talvez o momento ideal seja quando o recurso de Revenue Share estiver rodando para valer e daí explicar o que foi feito, como foi feito e convidar a turma para testar. O que acham?

@aprendendofelipe
Copy link
Collaborator

Realmente, se for um vídeo público, é melhor lançar quando já estiver implementada pelo menos alguma versão.

Então é melhor fazermos o encerramento da 6 e abertura da 7 em publicações no TabNews?

@filipedeschamps
Copy link
Owner Author

Então é melhor fazermos o encerramento da 6 e abertura da 7 em publicações no TabNews?

Total!! Inclusive posso compartilhar a publicação nas minhas redes também 🤝

@aprendendofelipe
Copy link
Collaborator

Publiquei o encerramento da Milestone 6:

https://www.tabnews.com.br/FelipeBarso/tabnews-encerramento-da-milestone-6

🎉🎉🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants