Como uma dificuldade pessoal virou um projeto para aprender APIs
Recentemente percebi uma coisa meio curiosa: eu simplesmente tinha um problema ao consumir o conteúdo do 4noobs do jeito que ele é organizado hoje. Não porque a organização seja ruim - muito pelo contrário. Acho que a comunidade fez um trabalho incrível organizando o projeto. O ponto é que eu percebi que meu jeito de estudar é diferente: tenho muito mais facilidade quando consigo seguir listas, trilhas ou um caminho de aprendizado mais visual.
Foi aí que pensei: "Se esse problema existe para mim, talvez exista para mais alguém. E se, de quebra, eu aproveitar isso para praticar consumo de APIs?" Foi assim que nasceu a Central 4noobs. A proposta era simples: consumir todo o conteúdo disponível no GitHub do 4noobs e apresentá-lo de uma forma que fizesse mais sentido para o meu jeito de estudar, organizando os materiais em listas e trilhas de aprendizado.
A ideia nunca foi substituir a organização do projeto original, mas oferecer uma forma diferente de navegar pelo mesmo conteúdo. Essa era a ideia inicial... mas, como acontece com praticamente todo projeto pessoal, ela foi crescendo conforme o desenvolvimento avançava. Mas ainda é uma alternativa. Tenham em mente isso. :)
O que aprendi durante o projeto
O projeto foi desenvolvido utilizando Next.js, TypeScript, Drizzle ORM e Supabase como banco de dados (e hoje já não tenho tanta certeza se essa foi a escolha mais inteligente 😅).
O maior aprendizado foi entender melhor como funciona o consumo de APIs. Antes eu entendia o conceito na teoria (com o próprio 4noobs, inclusive), mas foi durante o desenvolvimento da Central que realmente comecei a compreender como tudo se conecta. Depois desse projeto, passei a enxergar melhor como uma API é estruturada e, principalmente, como consumir seus dados sem simplesmente despejar tudo na tela.
Outra parte interessante foi aprender a tratar os dados recebidos. Uma coisa é receber uma resposta gigantesca da API. Outra completamente diferente é filtrar apenas as informações que realmente importam e reorganizar tudo da forma que faz sentido para a aplicação. Na teoria parecia simples. Afinal, não era a primeira vez que eu trabalhava com APIs. Me respeita... eu já fiz uma Pokédex. 😅 Mas seguir um tutorial é bem diferente de construir algo utilizando dados reais. Então, com uma ajudinha do ChatGPT, comecei os trabalhos.
Foi quando a ideia inicial começou a crescer
No começo o plano era extremamente simples:
- Consumir a API;
- Mostrar os cursos;
- Pronto.
Só que, conforme o projeto foi evoluindo, comecei a enxergar várias possibilidades interessantes. A principal delas foram as trilhas de aprendizado. Minha primeira ideia era criar um roadmap visual para cada trilha. Parecia incrível... até chegar a hora de implementar. Naquele momento percebi que aquela solução estava um pouco acima da minha capacidade técnica atual - pelo menos da forma como eu havia imaginado.
Em vez de insistir até travar completamente o projeto, resolvi seguir outro caminho. Como gosto de brincar: "Se eu não consigo derrubar a parede agora, vou cavar por baixo." Foi daí que surgiu o filtro por trilhas. Não era exatamente o roadmap que eu imaginava inicialmente, mas já permitia organizar o conteúdo de uma forma que fazia sentido para mim - e talvez para outras pessoas que também prefiram estudar seguindo um caminho mais guiado.
E eu realmente não queria cair naquele ciclo de: "Ainda não está perfeito... então vou deixar o projeto parado até um dia terminar." Então tomei uma decisão: "É melhor feito do que perfeito." Foi isso que me permitiu continuar evoluindo o projeto. E o melhor: a ideia do roadmap continua viva. Ela só precisa de um pouco mais de prática antes de sair do papel, de forma viável. Já consegui uma versão inicial, porém ela ainda precisa de um carinho.
Uma ideia para o futuro
Uma funcionalidade que ainda quero implementar é um sistema de usuários. A ideia seria permitir que qualquer pessoa pudesse criar suas próprias trilhas de estudo e compartilhá-las com a comunidade. Acho que isso seria especialmente útil para quem está começando na área, já que pessoas diferentes possuem experiências diferentes e podem montar caminhos interessantes para quem vem depois.
Um sonho seria escalar isso para uma "escola" - escola he4rts ou hearts edu - soa incrível na minha cabeça. Eu conversei com algumas pessoas da comunidade e vi que a reformulação está nos planos da he4rts, então provavelmente eles devem ter um plano já estruturado para esse crescimento. Contudo, gostaria de deixar meus tostões de contribuição aqui também :D No fim, seria uma forma de transformar a Central em um espaço colaborativo, onde diferentes formas de aprender pudessem coexistir.
Trabalhando com IA durante o desenvolvimento
Outra experiência interessante foi utilizar o ChatGPT durante o desenvolvimento. Na maior parte do tempo ele acelerou bastante o trabalho. Mas também aconteceram situações em que ele tentou tomar decisões arquiteturais ou de usabilidade que não estavam alinhadas com aquilo que eu imaginava para o projeto, ou tentou implementar soluções que eu ainda não entendi muito bem. Portanto, foi um exercício de humildade bem grande para o meu conhecimento kk.
Isso acabou reforçando uma coisa importante para mim: ferramentas de IA ajudam muito, mas continuam sendo ferramentas. Mais importante que bater com o martelo no prego é saber onde aquele prego tem que estar para fixar melhor. Ainda é responsabilidade do desenvolvedor entender o projeto, avaliar as sugestões e decidir quais soluções realmente fazem sentido para o longo prazo. Para mim, esse foi um aprendizado tão importante quanto qualquer conhecimento técnico adquirido durante o desenvolvimento.
O que ainda precisa melhorar
Apesar de estar funcionando, esse projeto ainda precisa de bastante carinho. Hoje eu faria várias coisas de forma diferente. Alguns pontos que quero melhorar são:
- Modelagem e organização dos dados;
- Arquitetura para autenticação e controle de acesso;
- UX/UI (que definitivamente não é meu ponto mais forte);
- Estrutura para facilitar futuras funcionalidades.
No fim das contas, esse projeto serviu muito mais para aprender do que para entregar uma aplicação perfeita. E acho que esse é justamente o papel de um projeto pessoal.
Conclusão
Este não é um artigo técnico explicando cada decisão de implementação. A ideia foi compartilhar o processo por trás do projeto: como uma preferência pessoal acabou se transformando em uma oportunidade para estudar APIs, praticar arquitetura, lidar com dados reais e aprender muito durante o caminho.
A Central 4noobs nunca teve a intenção de reinventar o projeto original. Muito pelo contrário. Ela nasceu porque existe um conteúdo excelente disponível e porque eu queria experimentar uma forma diferente de consumi-lo, enquanto aprendia mais sobre desenvolvimento.
Ainda existe muito espaço para evoluir a Central. Mas, olhando para trás, acho que ela já cumpriu seu principal objetivo: me ensinar muito mais do que eu imaginava quando comecei.
Como diz uma frase que gostei bastante e que ouvi do Guto da he4rts no último evento que participei: "Não há ninguém grande o bastante que não possa aprender e ninguém pequeno o bastante que não possa ensinar."
PS: Eu particularmente acho que me encaixo no segundo grupo :D
Também gostaria de deixar um agradecimento especial à Cherry e ao Daniel, da he4rts, que foram os responsáveis por me incentivar a escrever este microartigo. E, principalmente, ao projeto 4noobs e a toda a comunidade que mantém esse material vivo. A Central só existe porque existe um conteúdo tão rico para consumir. Boa parte do que aprendi como desenvolvedor começou justamente ali.
Se você também já transformou uma dificuldade ou uma preferência pessoal em um projeto, compartilha aí. Sempre é interessante conhecer como essas ideias nasceram. E, se quiser contribuir com o 4noobs ou com a Central 4noobs, cola na comunidade. Tem muita coisa legal acontecendo por lá. 🚀
Comments
No comments yet. Start the discussion.