Template saas com NextJs e Hono (não, n é pitch)
opa, primeiro post aqui então resolvi começar com um titulo diferente. Eu sei q ultimamente por aqui ta cheio de pitch e tem até um add de boilerplate nesse exato momento na home do tabnews mas eu só vim compartilhar esse projetinho q eu to trabalhando e pedir opiniões.
(o texto a seguir eu postei no meu twitter, se quiser ler lá. To botando aqui pra chegar na galera dev.)
Com essa onda do templates SaaS q explodiu recentemente, acho q por causa do sucesso do ShipFast do @marc_louvion e o tal do "indie hacking" (que eu acho um nome horrível, btw). eu fui dar uma olhada am alguns opções open source, como o do @leeerob, mas decidi fazer o meu próprio por alguns motivos:
-
Eu gosto de programar e achei um projeto interessante que poderia ser reutilizado em futuros projetos
-
Acho importante entender o que está acontecendo na minha codebase. E se eu vou estudar algo, que seja o funcionamento do meu próprio código, que eu "shipar" para meus usuários.
-
Nenhum dos templates tinha exatamente o que eu queria.
Meus requisitos para esse template:
- Next.js 15, claro
- ShadcnUI
- Clerk para autenticação
- Drizzle ORM
- Stripe para pagamentos
- Uma maneira ergonômica e padronizada de lidar com queries e mutations (tipo o T3 Stack com TRPC e Pages Router, saca?)
Cada um dos templates tinha algo do que eu gostava, mas não tudo. Então, decidi criar o meu próprio sem me preocupar em atender à maioria do público
só a mim e a quem tenha preferências similares. (bom gosto)
Acabei usando duas inspirações:
-
JStack do @joshtriedcoding. Achei a ideia de usar Hono no backend e deployar na Cloudflare bem legal. Se for tão rápido quanto ele diz, melhor ainda.
-
O template de @leeerob, que eu usei mais como como material de estudo. É praticamente um livro de melhores práticas e padrões do Next.js escrito por alguem q trabalha na vercel
Porém ambos tinham seus problemas:
JStack é legal, mas parece ter um desenvolvimento pouco ativo (e meio experimental). Além disso, usa Prisma (que eu não me importo, mas prefiro Drizzle) e tenta criar seu próprio TRPC.
Talvez isso seja necessário, mas tinha muito código que eu não entendia completamente e o client RPC do Hono já me parece typesafe o suficiente.
No caso do repo do @leeerob, é mais sobre não usar Clerk e ter muita "magia" do Next.js, o que eu estou tentando evitar para manter tudo mais padronizado. (por mais q eu ache legal)
Meu template vai ser uma mistura desses dois, com qualquer outra coisa que eu sinta necessidade no futuro, sem tornar-se excessivamente complexo ou pouco genérico.
Se quiser acompanhar, vou continuar postando atualizações. O repo está aqui se tu quiser dar uma estrela ou até mesmo contribuir: https://github.com/MarcusQuirino/xanflis-template
aceito muito trocar ideia sobre