Blog do Urubatan
msgbartop
Desenvolvedor, Palestrante, Escritor, Nerd Assumido e Pai do Marcus :D
msgbarbottom

15 Feb 08 Novo “pet project” em Rails (planejamento)

A idéia básica do projeto é um sistema simples para orçamento doméstico onde seja possível cadastrar as receitas previstas, os débitos previstos, realizar estas previsões e logo depois ter relatórios de previsão de saldo no final do mes, final do ano, e coisas do gênero :D

Bom, eu sei que existe o Fincanças on Rails do Maximiliano Guzenski, mas ele não funcionava exatamente como eu queria, e eu fiquei com preguiça de alterar ele.
Sim, seria mais vantajoso para a comunidade Open Source se eu colaborasse com ele em vez de criar outro, mas eu achei mais divertido pegar a planilha excel que a minha esposa usa para controlar as finanças de casa e transformar em um sisteminha :D
E com isto naceu o projeto “planejamento”, claro o nome tinha que ser algo completamente sem criatividade :D
Por enquanto a única coisa que esta pronta é o cadastro de créditos e débitos previstos e a realização destas previsões.
O projeto é todo feito com javascript não instrusivo e funciona se não houver suporte para javascript também.
Ainda não escrevi os testes, e a parte de relatórios que é a parte mais importante do sistema não esta pronta …

Estou utilizando alguns plugins bem legais do rails:

  • mydry – um plugin que eu criei que se assemelha ao scaffold antigo, mas gera models ja com algum código de relacionamento e validações que podem ser inferidas a partir do banco de dados, e controllers restfull para estes models, ele gera o código utilizando o will_paginate para paginação, eu criei este plugin por que eu achava muito chato criar as migrations, definir ali os campos not null, definir os campos de relacionamento, definir tamanhos máximos para strings e assemelhados e depois ter que definir tudo novamente no model. Por enquanto este plugin só existe dentro deste projeto, mas se mais alguem se interessar em usar ele eu crio um projeto separado :D
  • annotate_models – um plugin show de bola que coloca o schema da tabela como comentários nos arquivos dos models, facilita bastante a minha vida
  • will_paginate – o melhor plugin para paginação no RoR que eu conheço :D
  • calendar_date_select – um plugin que adiciona um helper para criar um input com um icone de calendário e um calendário popup para seleção de datas, bem mais bonito do que o padrão do rails :D
  • client_side_validation – achei este plugin espetacular, ele cria javascript para validação client side a partir das validações definidas nos models
  • validation_reflection – dependencia do client_side_validation

E estou utilizando também duas bibliotecas Javascript espetaculares:

  • lowpro – extensão da prototype que adiciona um suporte extremamente prático e fácil de usar para javascript não instrusivo (vou escrever um post sobre isto assim que eu me animar :D )
  • prototype-ui – outra extensão da prototype que adiciona alguns widgets, por enquanto apenas janelas popup e carrousel, estou utilizando apenas as janelas popup, de forma totalmente não intrusiva para os links de formulários, utilizando esta biblioteca em combinação com a lowpro

O próximo passo é escrever testes, adicionar os relatórios, adicionar suporte a tags e disponibilizar uma versão online para vocês brincarem :D

Estou utilizando o GIT para controle de versões, e quem quiser dar uma olhada no código fonte, ele esta hospedado no gitorious.

Se ninguem mais se interessar pelo projeto, ele vai evoluir pelo menos até atender todas as minhas necessidades, mas todos são bem vindos a dar sugestões e se alguem quiser colaborar eu posso dar direito de escrita no projeto no gitorious, ou então posso buscar os patches que forem criados a partir de qualquer repositório git que vocês estiverem usando :D .

Para baixar o código fonte é só rodar o comando:
git clone git@gitorious.org:planejamento/mainline.git se você ja tiver uma conta no gitorious
ou
git clone git://gitorious.org/planejamento/mainline.git se você não tiver uma conta por la :D

If you enjoyed this post, make sure you subscribe to my RSS feed!

Tags:

Reader's Comments

  1. |

    Um artigo sobre lowpro seria muito, mas muito bem-vindo!

    Reply to this comment
  2. |

    Olá TaQ, cara, já viu o spesa? Muito bom tambem.

    Eu tambem estava pensando em fazer meu proprio gerenciador financeiro, e como trabalho de diplomação da faculdade, que você acha? ( =D )

    abraços,

    Cairo Noleto

    Reply to this comment
  3. |

    Vou ver se escrevo um artigo sobre o lowpro então :D

    Cairo, acho que o TaQ não passou por aqui ainda hehehe :D
    O problema do spesa é que não acho legal ter o meu controle financeiro na maquina de outra pessoa :D
    neste caso rodo o meu sisteminha na maquina que eu quiser :D

    Quanto a fazer o teu próprio, se tu quiser vai firme, outra sugestão seria trabalhar ou em cima do meu ou em cima do FoR que eu comentei no post, ambos são open source …

    Reply to this comment
  4. |

    Foi mal do TaQ, desculpa aee, IAHeoHeoHAeoA

    (Envergonhado)

    Reply to this comment
  5. |

    Olá,

    Kra nada contra seu projeto, mas é o tipo de aplicação que acho deve ser desktop, talvez eu esteja até sendo ignorante (não conheço muito de rails) mas acho que rails é só web ne?

    Abraço,

    Reply to this comment
  6. |

    eu vou deixar um build dele pronto para rodar como um executável abrindo o browser :D
    só que só vou conseguir isto para o linux, se alguem se animar é só rodar um batch para gerar o exe para windows :D

    tem um outro post no meu blog sobre isto (o post é do ano passado :D )

    Reply to this comment
  7. |

    Oi Urubatan,

    Eu uso diariamente o Expensr: https://www.expensr.com
    Tem umas coisas bacanas, principalmente o budget mensal por categorias. Fica a dica pra também tirar umas idéias do expensr.

    abraço!

    Reply to this comment
  8. |

    No windows, tu pode usar o Prism

    Reply to this comment
  9. |

    Ola Urabatan.
    É, software financeiro normalmente a pessoa precisa para resolver um problema especifico, por isso iniciei o FoR (que passou bom uma boa re-estruturação de codigo agora e como ele ja me atende 100% nao pretendo mais alterá-lo nos próximos meses).

    Andei testando o https://www.pearbudget.com/ que antigamente era uma planilha excel e agora é web… o cara ta se puxando na usabilidade do sistema.. da uma olhada lá!

    Bom, parabéns e boa sorte :)

    Reply to this comment
  10. |

    [...] Novo

    Reply to this comment
  11. |

    [...] henrique oliveira on Tutorial de Grails do RSJUG – Neste sábadoRails Podcast Brasil – Epis on Novo “pet project” em Rails (planejamento)José Alves on Claro 3g com modem traveller D301 funciona no linux :D – passo a passo para [...]

    Reply to this comment
  12. |

    Urubatan, muito legal esse projeto. Eu tbm pensei em colaborar com o Finanças on Rails há mt tempo atrás, mas o autor do projeto não estava permitindo commits. Eu teria que mandar para ele o codigo e só entao, após sua análise, ele iria commitar. Bom, de burocracia já basta o meu trampo, rs…

    Estou louco para dar um olhada na versão beta. Aguardo ansiosamente.

    Rafael

    Reply to this comment
  13. |

    [...] Novo “pet project” em Rails (planejamento) [...]

    Reply to this comment

Leave a Comment