Skip to content
Docs

James

ERP pessoal — documentação técnica e roadmap do projeto

Por que o James? A Origem do "Life OS"

A ideia do James nasceu de uma necessidade que venho tentando resolver há algum tempo através de projetos isolados. Anteriormente, desenvolvi o Aurum para gestão financeira e o BalanceFlow para divisão de despesas.

Embora esses projetos funcionassem muito bem individualmente, a vida não acontece em caixas separadas. Quando eu fazia uma transação financeira, muitas vezes ela envolvia um contato, que por sua vez fazia parte de um acerto de despesas. Manter vários sistemas separados começou a se tornar um gargalo de produtividade e consistência.

O James surgiu como o “Life OS” — um único sistema centralizado (Single Source of Truth) capaz de englobar CRM (Contatos), Finanças, Acertos, e expansível para qualquer outra área da vida. A ideia não é apenas gerenciar dinheiro, mas gerenciar a rotina cotidiana em um ambiente altamente privado e sob o meu próprio controle.

A Escolha da Stack: Lições do Passado

Se você acompanhou a história do Aurum, sabe das dores de cabeça que tive com gráficos interativos e Livewire. No James, o lema principal é a simplicidade robusta. Não quero “mágica” que eu não consiga manter depois de 6 meses.

  • Backend: Laravel 13 (com PHP 8.5) — Produtivo, estruturado em MVC e seguro. Não havia por que mudar.
  • Frontend: Blade, Alpine.js e TailwindCSS v4. Retornei ao básico renderizado pelo servidor, o que é ótimo para a performance e simplicidade. O Alpine.js entra apenas para interações locais (modais, tooltips, dropdowns), sem o overhead e os ciclos de vida complexos que o Livewire trazia.
  • Gráficos e Dashboards: Em vez de brigar com reatividade pesada, utilizamos Apache ECharts integrado via Vanilla JavaScript para renderizar visualizações complexas (como o Diagrama de Sankey do fluxo de caixa), garantindo controle total da renderização na view.
  • Armazenamento e Privacidade: Utilizamos o spatie/laravel-medialibrary configurado no disco privado. Nenhum dado (como avatares de contatos ou recibos financeiros) é exposto publicamente na web.

A Filosofia "Omakase": Feito para Mim

Uma premissa fundamental do James é que ele é um software construído por mim, para mim. Isso significa que as decisões de design, as escolhas de funcionalidades e a priorização do que entra ou não no sistema seguem a filosofia Omakase (termo que, no software, descreve um menu fechado e altamente opinativo feito pelo “chef”). O James reflete estritamente as minhas próprias necessidades e o meu fluxo de trabalho. Se algo faz sentido e facilita a minha rotina, entra no projeto; caso contrário, fica de fora.

Sobre esta Documentação

O objetivo desta documentação é contar um pouco da história do projeto, compartilhando as motivações e as decisões arquiteturais que moldaram o James. É um diário de bordo do desenvolvimento.

Você vai encontrar explicações sobre as funcionalidades, o roadmap de módulos e um passo a passo para a instalação, mas sem necessariamente detalhar cada linha de código ou como as coisas funcionam “por debaixo dos panos”. A ideia é compartilhar a jornada de construir uma ferramenta unificada para a vida real.

Última modificação