Open diego3g opened 1 year ago
O ts-rest poderia ser interessante para esta definição de contratos.
Ele permitiria compartilhar as tipagens entre o front-end e back-end de maneira similar ao tRPC através da declaração de um contrato independente da implementação do back-end. Ele tem integração com nestjs e tmb gera os hooks do react-query a partir das definições do contrato.
(zodios is also an honorable mention)
@extendsLcc eu não conheço o ts-rest, sabe me dizer se isso aumentaria a complexidade para o pessoal mais iniciante contribuir?
Se tiver algum conteúdo que auxiliasse a entender melhor com utilizar seria bem legal ^^
@extendsLcc Não conhecia o ts-rest, apenas o zodios. Pode ser uma ótima opção. Vou dar uma estudada sobre a facilidade em implementar e entender se aplicamos isso nesse projeto. Obrigado!
Fiz um exemplo de implementação utilizando o ts-rest caso queiram deixar o feedback. Particularmente curti bastante a biblioteca e acho que seria uma mão na roda.
https://github.com/diego3g/rsxp-2023/pull/76
Quero fazer um exemplo dela aplicada ao mobile com React Query e ao Nest, mas antes vou aguardar a PR #57 ser mergeada pra prosseguir.
@extendsLcc se quiser dar um visu e dar sua opinião.
@jorge-lba A ferramenta traz sim uma carga porém não diria que o aumento de complexidade é tão significativo, tirando talvez algumas peculiaridades (auth), a questão é avaliar o custo x beneficio que ela vai trazer. Conteúdo de aprendizado vai ser apenas a doc e algumas discussions e issues no github deles, infelizmente.
Minha intenção era mais apresentar uma solução para esse tipo de problema de definição de contratos para quem estivesse acompanhando esta issue, esperando que possa ser util para alguém.
Estou criando contratos para todas comunicações que forem acontecer entre front-end e back-end facilitando a construção de ambas partes de forma isolada.
Exemplo de um contrato para a rota de "vincular ingresso":