Brazilian Open Source Rails Projects

2008 August 04, 13:05 h - tags: english rails obsolete

Leitores Brasileiros: clique aqui

Going forward with my previous post about Brazilian Rails Websites, here I go with a second post about “Open Source Brazilian Rails Projects”. The goal: motivate developers to create new stuff and to make them known in the international community.

It is not possible to become a great artist without ever visiting a museum and research the art of others. Inspiration does’t come out of nowhere. Open Source is excellent for artists to study different solutions for the same problems and guide even more creative new solutions. So, here they go:

Motiro, from Thiago Arrais. Motiro is an ancient tupy word for a work gathering. During a motiro, people help each other in order to achieve a common goal like harvesting food or building houses. Motiro is also a project tracking tool. An excellent tool for project management built in Ruby, one of the pioneer open source projects in Ruby I can remember.

jetty_rails is an awesome project for JRuby developers by Fabio Kung. You want to have the easy of use of developing with Mongrel but you also want to have servlet container facilities, jetty_rails is the answer for Agile JRuby on Rails development.

Brazilian Rails, from Improve It. This is a Brazil specific project to localize Rails to the Brazilian Portuguese region, including correct inflections for pluralization, correct money, datetime representations, translated error messages and so forth. This was made prior to the new i18n support in Rails Edge 2.2.

Integration, also from Improve it, is a Ruby on Rails plugin that provides a set of tasks to automate all steps of a synchronous continuous integration process, that is, continuous integration without a server such as CruiseControl. Recommended for any Agile team willing to improve their development processes.

Selenium Poetry, again from Improve it, is a library that extends SeleniumOnRails::TestBuilder, allowing you to write really readable tests for Selenium. If you know Selenium you’re aware about writing tests for it in Ruby, but it ends up being very unfriendly. Poetry brings Selenium tests back to the Ruby Way.

Bookmaker, from Carlos Brando and Marcos Tapajós, it is a framework to facilitate the creation of the programming books, using Markdown styling and even code colorization to generate really professional looking eBooks in PDF format. You probably heard about the famous e-Book Rails 2.1: What’s New

RGhost, is another pioneering project, by Shairon Toledo. Ruby Ghostscript is a library for document developers wanting a quick and easy way to generate pdf files. It’s optimized to work with larger documents.

RGhost Barcode, also from Shairon is an RGhost Adapter to easily generate 32 kinds of barcodes in Ruby. Check out the online catalog here

Ruby Finance, by Herval Freire, is a gem to access financial data from Yahoo! Finance (shares, indexes, currency, etc).

double_submit_protection, also from Herval, is a plugin to prevent double-submit with server-side control (instead of the default, and weak, javascript one). You’re probably aware of the problem of users double clicking the same checkout submit button ending up with you having duplicated transactions. This plugin will be a life saver.

Colorplan, from Caffo (Rodrigo Franco) is a different kind of todo list mixed with project tracking which makes use of colors to facilitate eye sight. Kind of difficult for me to explain so I recommend you to check out his website and see the screenshots for yourself.

Bookqueue is another app from Caffo which is, literally, a bookshelf built with Rails. Can be a good example app for beginners.

JSMask is a Rails plugin which offers support for HTML form field masking for dates, phone numbers, credit card numbers, ssn. By Ozéias Sant’ana.

piwik, by Rodrigo Tassinari de Oliveira, is a simple Piwik client built with Ruby for the Piwik API. Piwik is an open source web analytics tool. Should facilitate building visits reports, searches, hits and so forth.

Rails Footnotes was originally created by Duane and is now maintained by José Valim, who already added many new features. If I am now mistaken, this plugin adds a footer into your web application while you’re in development mode, so you can click on links to easily open the related controllers, views.

Easy HTTP Cache, also fom José Valim, is self-explanatory – even though it neither starts with acts_as_ nor ends with _fu – as José himself describes :-) Technically it allows Rails 2.1 apps to use the HTTP 1.1 cache specification. I particularly like this kind of project because it is reasonably simple and brutally lows the load on your web app.

Currency String, by Taq is a number to string representation converter.

That’s it folks, let us create more projects. Thanks to Github collaborative development became easier. Take a good look at the application you’re working right now: chances are that it can be refactored and packaged into a plugin, gem. And keep an eye open for our Brazilian community: we have some of the finest Rubyists growing up here!

Projetos Open Source Brasileiros de Rails

Dando sequência ao meu post anterior sobre Produtos/Sites Brasileiros feitos em Ruby/Rails aqui vai um segundo post sobre “Projetos Open Source relacionados Ruby/Rails”. O objetivo: incentivar os desenvolvedores a criar coisas novas.

Não dá para ser um bom artista sem nunca ter visitado um único museu e pesquisado sobre a arte dos outros. Inspiração não nasce em árvores. Open Source é excelente para artistas estudarem diferentes soluções para os mesmos problemas e para direcionar a novas soluções ainda mais criativas. Então, lá vai:

Motiro, do Thiago Arrais. Como ele diz em seu site, “Motiro” é uma antiga palavra Tupi para “reunião de pessoas”. Durante um motiro, as pessoas se ajudam para atingir um objetivo comum. Um excelente nome para uma ferramenta de gerenciamento de projetos feito em Ruby. É um dos mais antigos projetos open source em Ruby que eu me lembro.

jetty_rails é um projeto incrível do Fabio Kung. Você quer a facilidade de desenvolvimento do Mongrel mas também quer ter funcionalidades do container de servlets, jetty_rails é a resposta para desenvolvimento Ágil com JRuby on Rails.

Brazilian Rails, da Improve It. Esse projeto se propõe a traduzir determinadas mensagens e padronizar alguns usos comuns no Brasil, como formato de data, por exemplo. Em particular, ele faz as inflexões corretas de português na hora de pluralizar, além de traduzir corretamente as mensagens de erro do ActiveRecord. Essencial para projetos que visam exclusivamente a língua portuguesa.

Integration, também da Improve it, é um plugin de Rails que oferece um conjunto de tarefas para automatizar todos os passos de um processo de integração contínua síncrona, ou seja, integração contínua sem um servidor como CruiseControl. Para equipes almejando as qualidades de Extreme Programming, essa ferramenta pode ajudar muito.

Selenium Poetry, ainda da Improve it, é uma biblioteca que extende o SeleniumOnRails::TestBuilder, permitindo escrever testes muito mais legíveis para Selenium. Quem usa Selenium sabe que é possível escrever os testes em Ruby, porém de uma maneira muito pouco no estilo Ruby. O Poetry trás de volta o Ruby Way na forma de se escrever esses testes.

Bookmaker, do Carlos Brando e Marcos Tapajós, é um toolkit para facilitar escrever livros e gerar PDF deles. Utiliza um formato Markdown para formatar e inclui inclusive colorização de código. Os PDFs gerados são de alta qualidade como todos já devem ter visto no livro Rails 2.1: What’s New

RGhost, é outro projeto pioneiro, pelo Shairon Toledo. Ruby Ghostscript é uma biblioteca para desenvolvedores de documentos que querem uma maneira simples e rápida de gerar arquivos pdf.

RGhost Barcode, também pelo Shairon é um adaptador para RGhost para facilmente gerar 32 tipos de códigos de barra em Ruby. Veja o catálogo aqui

Ruby Finance, pelo Herval Freire, é uma gem para acessar dados financeiros através do Yahoo! Finance (ações, índices, moedas, etc).

double_submit_protection, também do Herval, é plugin para evitar double-submit com controle no server-side. Para quem não entendeu, imagine aquele bom e velho caso onde você tem um formulário de compra (!) e seu usuário é do tipo que clica duas vezes no mesmo botão!

Colorplan, do Caffo (Rodrigo Franco) é um tipo diferente de to-do list misturado com gerenciador de projetos que utiliza cores para facilitar priorização. Meio difícil para eu explicar, então sugiro entrar no site do projeto para ver os detalhes e screenshots.

Bookqueue é outra aplicação do Caffo, literalmente uma estante de livros feita em Rails. Pode ser mais uma boa aplicação de exemplo para quem está aprendendo Rails também.

JSMask é um plugin que oferece suporte a uma máscara para campo de texto para datas, telefone, cartão de crédito, ssn. Por Ozéias Sant’ana

piwik, do Rodrigo Tassinari de Oliveira, é um client simples feito em Ruby para a API do Piwik que, por sua vez, é um analisador web open source. Para gerar relatórios de acesso, searches, hits, etc.

Rails Footnotes foi criado pelo Duane e hoje é mantido pelo José Valim, que adicionou várias funcionalidades novas. Se não estou enganado, em modo de desenvolvimento ele adiciona um tipo de rodapé na sua aplicação que lhe dá links para abrir diretamente os arquivos de controller, views, etc e facilita seu desenvolvimento.

Easy HTTP Cache, também do José Valim, é auto-explicativo – mesmo não começando com acts_as_ ou terminando com _fu – como disse o próprio José :-) Tecnicamente permite que aplicações Rails 2.1 usem a especificação de cache do HTTP 1.1. Particularmente gosto desse tipo de projeto pois cache é algo razoavelmente simples e que diminui em muito a carga de uma aplicação web.

Currency String, do Taq é um conversor de números em representação string e tem suporte a diferentes línguas. Talvez seja algo parecido com o que tem no Brazilian Rails mas provavelmente com escopos diferentes de uso.

É isso aí pessoal, vamos criar mais projetos. Graças ao Github o desenvolvimento colaborativo se tornou muito mais fácil. Olhe bem para a aplicação que está fazendo neste momento: provavelmente há algo aí que possa ser refatorado e empacotado como plugin, gem.

Comments

comentários deste blog disponibilizados por Disqus