Não aguento mais ser medíocre e Favoritos do tabnews
Não entendeu o título? Calma mussarelo, deixa eu me apresentar:
Me chamo Elias, tenho 21 anos e comecei nesse mundo tech em 2020 com o mestre Guanabara😅. Desde então venho estudando, e ano passado, concluí um projeto freelance aqui na minha cidade que recebe 2000 acessos mensais. Achei que esse projeto já era o suficiente para comprovar minhas skills e arranjar o primeiro trampo, certo?
Errado! Bom, na verdade não sei dizer, estou meio perdido e tentando refletir. Pode ser que eu não tenha tentado o suficiente, ou que eu realmente não esteja pronto. Logo, cheguei a conclusão de que ambos estão certos: não tentei o suficiente e não estou pronto.
A experiência que eu tenho são com projetos próprios, que eu conheço da cabeça aos pés. Eu não tenho nenhuma experiência de projetos em equipe ou de contribuições com o open-source. Como uma empresa que já mantém um software milenar vai contratar um cara que nunca viu um código senão o próprio? E confesso que no fundo eu sabia disso, acho que todo mundo sabe, mas eu sentia uma força de atrito enorme em tentar me aventurar. Então me perguntei: "Por que? O que eu perco se não conseguir?" A polícia vai bater na minha porta e falar "Você tentou mexer num projeto que não foi você que escreveu e fez merda. Você esta preso!". Acho que não né? Portanto, deixei de frescura e resolvi mexer em algum projeto open-source pra me blindar e parar de ter medo de código dos outros.
Agora que expliquei o porquê de me achar mediocre vou explicar a outra parte do título: o open-source que eu escolhi foi o Tabnews e resolvi criar uma funcionalidade de adicionar publicações aos favoritos. Acho que já foi assunto por aqui e tem algumas gambiarras que são usadas, mas quero criar a funcionalidade pura. Deixo claro que meu objetivo não é integrar a feature ao Tabnews, mas sim me desafiar e acostumar com esse ambiente open-source.
Inclusive já comecei o processo, mas resolvi postar isso antes para me forçar a terminar e evitar um "Ah, ninguém vai ficar sabendo que eu fracassei". E deixo claro que o problema não é fracassar, mas sim desistir antes de tentar (algo que reparei que faço muito, principalmente por analysis paralysis). Espero acabar com isso me jogando no mundo open-source, algo que ja deveria ter feito há muito tempo. Então se você se identifica e sente esse atrito como eu, cara, deixa de frescura!
Em relação a funcionalidade que eu quero criar, fiz alguns ajustes no front-end para ter uma noção de como ficaria e cheguei a esse resultado:
- Adicionei um botão no canto superior direito
- Após favoritar a publicação, ela ficaria salva em uma nova aba de favoritos no perfil
E esse foi meu progresso até agora. Conforme o avanço, vou documentar por esse post. Então sinta-se a vontade pra voltar de vez em quando!
Fico muito feliz se você leu até aqui e ficaria ainda mais se você deixasse uma contribuição. Adoraria ouvir críticas, conselhos, dicas ou sugestões. Valeu!
EDIT #1 - 13/03/2024 16:47
Já criei e rodei a migration que sobe uma tabela de favoritos, que relaciona o id do usuário com id do conteúdo favoritado. É a melhor maneira? não faço ideia, mas não enche meu saco, é o jeito que deu mermão kkkkkkkk
Bora que bora!
EDIT #2 - 13/03/2024 22:18
E não é que tá dando certo o negócio??
Só acho que teria maneiras mais fáceis de reescrever meu código, até porque não estudei muito a estrutura do tabnews, fui meio que replicando o que já existia pra tentar chegar no resultado que eu queria.
Tem algumas coisas pra resolver tipo: Como fazer pra inserir nos contents um dado que diga se o post ja foi favoritado ou não pelo usuário logado, pra pode controlar o estado do botão no front-end. Mas isso é coisa pra amanhã, chega por hoje!
EDIT #3 - 14/03/2024 20:14
Vi que bastante gente me aconselhou a fazer uma PR abordando essa implementação e considerei isso, mas pesquisando um pouco achei o post do Rodrigo Kulb sobre boas práticas na hora de fazer uma PR aqui no Tabnews. Lá ele aconselha a pesquisar nas PR/Issues se alguém já está trabalhando ou idealizando o assunto desejado. Logo, achei essa issue que está abordando a questão dos favoritos, mas acho que sem muito progresso até o momento. Então comentei sobre o que idealizei e implementei até agora e estou aguardando o retorno.