Skip to content

Controle financeiro pessoal. Eu até gosto de planilhas, mas sempre penso: "Porque usar planilhas se eu sei Ruby on Rails?"

Notifications You must be signed in to change notification settings

feromes/contas.mobi

Repository files navigation

Conta.Mobi

Eu até gosto de planilhas, mas sempre penso: “Porque usar planilhas se eu sei Ruby on Rails?”

Problema inicial

Meu grande problema é saber:

  • Quanto eu ganho
  • Quanto eu gasto
  • Quanto eu tenho para receber
  • Quanto eu tenho para pagar
  • Quanto eu já recebi
  • Quanto eu já gastei

Parece simples! Mas é preciso abstrair isso para um modelo genérico onde qualquer pessoa possa controlar suas contas de casa.

Onde estão esses dados?

Normalmente esses dados estão no extrato de banco, fatura do cartão de crédito, comprovantes de despesa, comprovantes de pagamento, canhotos de cheques, etc …

Modelo de dados inicial

Se eu me lembro das minhas aulas de contabilidade guardamos tudo em Contas
Por exemplo nosso cartão de crédito é uma conta para Contabilidade, e ela tem débitos e créditos, o chamado método das Partidas Dobradas
Esse modelo tb aparece na conta corrente, no dinheiro que temos na carteira, na dívida que temos com a Sogra e até no nosso talão de cheques.

Plano de contas

É importante organizar as contas para depois totaliza-las. Em contabilidade o nome certo disso é Plano de Contas ou Contas Contábeis o que é na verdade, fundamento para o balanço contabil.
As contas do plano de contas tem a sua hierarquia. O ActiveRecord nos primórdios tinha o acts_as_tree que agora é uma gem.
Mas existem tb boas opções em 7 Tree Data Structure Plugins for Rails

Comportamento das contas

Basicamente existem três tipos de contas, e aqui não vamos falar de contabilidade:

  • As coisas, ou contas que pagamos que aqui chamaremos de Contas de Saida
  • As contas que recebemos que aqui chamaremos de Contas de Entrada
  • As contas que tem entradas e saídas chamadas de Contas Correntes

Conta de Saída

Exemplos: Despesas em geral, água, luz, telefone, aluguel

Conta de Entrada

Exemplos: Recebimentos em Geral, Salário, Mesada, Bonus, etc …

Conta Corrente

Exemplos: Sua Conta no Banco, A sua fatura de cartão de crédito e até o controle do seu talão de cheques

Criptografia e multi usuário

Eu não me sentiria bem de um provedor de serviço ter acesso aos meus dados bancários, mesmo que ele fique com dó das minhas dívidas e me de algum dinheiro, prefiro meus dados sigilosos. Mesmo porque o sistema terá outros usuários e por isso é interessante manter os dados siglosos.
Portanto, faz parte do escopo do projeto contas.mobi criptografar dados de valores das contas.
Penso em usar o https://github.com/shuber/attr_encrypted ou ainda

PS.: É necessário um estudo mais aprofundado, pois encriptar números que precisarão passar por totalização não costuma ser uma grande idéia.

Em português

Esse projeto vai usar nomes de métodos e tabelas em Português, pelo simples fato de que não tenho familiaridade com os nomes contábeis em Inglês.
Para isso:

config.active_record.pluralize_table_names = false

Participe!

Vou tentar colocar a primeira versão Beta em pouco tempo no ar! Pull Requests são bem vindos!

About

Controle financeiro pessoal. Eu até gosto de planilhas, mas sempre penso: "Porque usar planilhas se eu sei Ruby on Rails?"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published