Meus 2 cents:
Uma dica que aprendi no inicio da carreira foi: quando for construir uma aplicacao, veja quais os relatorios (as saidas) que ela precisa gerar, mapeie os dados e parta dai.
OK, mantidas as proporcoes e devidas atualizacoes (afinal a dica eh dos anos 80) - sempre achei uma metodologia interessante: identificar primeiro no levantamento de dados quais as informacoes que de fato o usuario precisa para dai mapear a estrutura necessaria que o sistema devera ter.
Existe um monte de armadilhas aqui, como a possibilidade do usuario passar uma necessidade que eh apenas legada e nao real:
- A Experiência dos Cinco Macacos https://atitudereflexiva.wordpress.com/2020/04/02/a-experiencia-dos-cinco-macacos/
Entao: mapeamento de dados => BD => aplicacao.
Atualmente, nas experiencias de "vibe coding" com IA, tenho tentado o seguinte: criar um PRD descrevendo as tabelas e o que o sistema deve fazer e depois passar no replit/loveble/etc.
1. Exemplo de prompt "vibe coding" primeiro no chatGPT/deepseek/claude/quewn/etc:
Crie um PRD para o seguinte aplicativo:
Um app para atividade X: precisa ter uma landing page com botao de login. Apos o login devera abrir uma dashboard com menu vertical com as opcoes disponiveis.
O app precisa ter CRUD de users, roles e permission em tabelas separadas
O app precisa ter CRUD de XXX.
Descreva as tabelas e campos necessarios.