Passo 5: Esboce o Modelo de Dados
A maioria dos apps é, na verdade, sobre dados: o que você guarda e como as partes se relacionam. Um esboço rápido do modelo de dados te poupa de código confuso e inconsistente mais tarde. Você não precisa de um diagrama de banco de dados — uma lista de campos já basta.
Para o rastreador de livros, há uma coisa principal — um Book (Livro):
Book
- id: unique string
- title: string
- author: string
- status: "to_read" | "reading" | "finished"
- rating: number 1–5 (only if finished)
- addedAt: date
Mesmo este esboço minúsculo torna as decisões explícitas: avaliações só existem para livros terminados, o status é um de três valores fixos, e todo livro tem um id. Quando você entrega isso à IA, ela para de adivinhar nomes de campos e constrói de forma consistente.
O motivo para fixar isso cedo é que nomes de campos vazam por todo lugar. Assim que a IA escreve código que lê book.rating, esse nome aparece no formulário, na visualização de lista, na camada de armazenamento, e em qualquer recurso futuro que você adicionar. Se você deixar esse nome variar — rating em um lugar, stars em outro, score em um terceiro — você tem bugs cansativos de rastrear. Um modelo de dados de seis linhas é o seguro mais barato contra isso.
Um bloco de spec curto e pronto para copiar e colar geralmente funciona melhor do que prosa para a IA. Aqui está o mesmo modelo escrito como um que você de fato enviaria:
Use this exact data shape for a book. Don't add fields I didn't list,
and don't rename these:
Book {
id — unique string, generated on creation
title — string, required
author — string, required
status — one of: "to_read" | "reading" | "finished"
rating — integer 1–5, present ONLY when status is "finished"
addedAt — ISO date string, set when the book is added
}
If you think a field is missing, ask me before adding it.
Essa última linha — pergunte a mim antes de adicionar — está fazendo um trabalho real. Ela transforma a IA de uma adivinhadora numa colaboradora e mantém o modelo de dados seu.