Fazenda
jogo de fazenda com plantio em tempo real, criação de animais, máquinas que processam matéria-prima, depósito, mercado e ranking.
meu primeiro projeto de backend com banco relacional de verdade: eu queria entender modelagem, relacionamento e autenticação escrevendo tudo à mão antes de deixar um framework decidir por mim.
API em Express com Sequelize sobre PostgreSQL, modelando fazenda, talhão, canteiro, cultivo, animal, estrutura, máquina, produção, material, item processado e depósito. o frontend é HTML, CSS e JavaScript puros consumindo essa API.
como as peças se conectam
- NavegadorHTML, CSS e JS puros
- Nginxentrega do cliente e proxy
- ExpressAPI com Sequelize
- PostgreSQL13 modelos de domínio
o que existe dentro
Plantações
implementadotalhões divididos em canteiros e posições, com ciclo de cultivo em tempo real.
Animais
implementadocriação com estruturas próprias e produção contínua.
Máquinas
implementadotransformação de matéria-prima em item processado, com fila de produção.
Depósito e mercado
implementadoestoque por item e negociação.
Ranking
implementadoclassificação entre jogadores.
o que foi usado
decisões técnicas e o porquê
front sem framework
de propósito: escrever a tela na mão deixou claro o que o React resolve, antes de eu usar React.
ORM com modelos explícitos
Sequelize com um arquivo por modelo, para enxergar relacionamento e chave estrangeira em vez de aceitar mágica.
o que ficou
- tempo real por relógio é traiçoeiro: guardar o instante em que o cultivo começou e calcular o resultado na leitura é mais confiável do que agendar a colheita.
- modelar antes de codar economiza reescrita. a hierarquia talhão → canteiro → posição só ficou boa na terceira tentativa.