← todos os projetos
no ar2025projeto pessoal

Fazenda

jogo de gestão agrícola no navegador

jogo de fazenda com plantio em tempo real, criação de animais, máquinas que processam matéria-prima, depósito, mercado e ranking.

0
modelos de domínio
0
grupos de rota na API
0
front sem framework
o problema

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.

a solução

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.

arquitetura

como as peças se conectam

  1. Navegador
    HTML, CSS e JS puros
  2. Nginx
    entrega do cliente e proxy
  3. Express
    API com Sequelize
  4. PostgreSQL
    13 modelos de domínio
módulos — 5

o que existe dentro

Plantações

implementado

talhões divididos em canteiros e posições, com ciclo de cultivo em tempo real.

Animais

implementado

criação com estruturas próprias e produção contínua.

Máquinas

implementado

transformação de matéria-prima em item processado, com fila de produção.

Depósito e mercado

implementado

estoque por item e negociação.

Ranking

implementado

classificação entre jogadores.

stack

o que foi usado

Node.jsExpressSequelizePostgreSQLJWTJavaScript sem framework
decisões — 2

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.

aprendizado

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.
← todos os projetospróximo projetoGerador Lotofácil