> Construindo meu próprio SaaS
No meu último post, comentei que saí do hackathon da OpenAI com uma ideia na cabeça. Pois bem, resolvi levar essa ideia adiante.
O começo: um protótipo em Node
Durante o hackathon, construí a primeira versão da API usando Node.js com a ajuda do Codex. A prioridade era velocidade: fazer algo funcionar para apresentar aos jurados.
E funcionou.
Mas quando decidi transformar aquilo em algo real, percebi que precisava repensar tudo desde o início.
Por que refazer em Java com Spring Boot?
Pode parecer estranho jogar fora código que já funcionava. Mas a verdade é que aquele código foi feito para um hackathon, não para um produto.
Escolhi Java com Spring Boot por alguns motivos:
- É a stack que mais uso no dia a dia
- Tenho mais confiança para construir algo robusto
- O ecossistema para aplicações enterprise é muito maduro
- Quero aproveitar para aprofundar ainda mais meus conhecimentos
Além disso, dessa vez não estou com pressa. Posso fazer as coisas do jeito certo.
Passando por todas as camadas
O que está sendo mais interessante nesse processo é perceber como construir um produto do zero te obriga a passar por todas as camadas da engenharia de software.
Não é só codar uma feature e fazer deploy.
É pensar em:
- Como os dados se relacionam
- Qual a estrutura das tabelas
- Quais entidades existem no domínio
- Como o sistema vai escalar
- Quais regras de negócio precisam existir
No trabalho, muitas vezes entramos em projetos que já têm tudo isso definido. Aqui, as decisões são todas minhas.
Primeira etapa: modelagem de dados
Comecei pelo que considero a base de qualquer sistema: a modelagem dos dados.
Estou determinando:
- Quais tabelas o sistema vai ter
- O que cada tabela vai armazenar
- Como elas se relacionam entre si
- Quais campos são obrigatórios
- Quais constraints fazem sentido
Parece simples, mas cada decisão aqui impacta todo o resto. Uma modelagem mal feita agora vai gerar dor de cabeça lá na frente.
Por isso estou dedicando tempo para fazer isso com calma, pensando nos casos de uso e nas evoluções futuras do produto.
O que vem pela frente
Depois da modelagem, vem a implementação das entidades, repositórios, services e controllers. A arquitetura clássica do Spring Boot.
Pretendo documentar esse processo aqui no blog, compartilhando o que aprendo e as decisões que tomo pelo caminho.
Ainda não sei se esse SaaS vai dar certo. Mas o aprendizado já está valendo.
E, no mínimo, vou sair disso com um projeto real no portfólio e muita experiência prática.