Continuação da história sobre hellolawyer — um quadro de empregos jurídico. Neste post, contarei quais foram as soluções técnicas (ruins)

A primeira ideia foi fazer um bot do Telegram que postasse vagas personalizadas de acordo com interesses e filtros selecionados: localização, cargo, formato, áreas do direito.

Decidiu-se fazer dois repositórios: um para o bot, outro para a lógica de backend.

Boy oh boy, it was a mistake.


1. Deploy problemático — era necessário implementar o deploy para dois repositórios.
2. Chamadas de rede e contratos — era necessário configurar a conectividade de rede entre os dois contêineres. Sim, apenas docker network, mas era preciso fazer.
3. Modelos de dados repetidos.

Destaco separadamente a tentativa de usar uma nova ferramenta interessante para trabalhar com banco de dados — edgedb (agora é www.geldata.com sob aquisição da vercel) — na época ainda estava em beta. No final, reescrevemos para asyncpg 😎

4. Refatorações. Como eu estava insatisfeito com o código que escrevi. Mas ele funcionava e cumpria seu papel: os usuários apareciam. Mas o engenheiro não morria e queria reescrever tudo. Em três anos de existência, até uma v2 da API apareceu 😰

Depois decidimos fazer um cliente web...

Mais uma vez, depois de assistir a vídeos hypados no YouTube, peguei nextjs. E claro, todas essas requisições precisavam ser proxyadas novamente para o backend. Felizmente, nessa época eu já conhecia openapi a.k.a swagger. Pelo menos as requisições para esse backend podiam ser escritas menos.

Então começou uma nova era. A era do trabalho na UI, mais especificamente nos cards de vaga. Como queríamos colocar tudo lá e fazê-los brilhar e serem bonitos. E claro, novamente houve tentativas de refatorar as views e componentes 💪

Continua ☕️

A imagem foi gentilmente gerada pelo chatgpt