OndeTrabalhar.com – os bastidores desse projeto Rails
Postado em 05. ago, 2009 por Cauê Guerra em Arquitetura, Caelum
Desde que lançamos o OndeTrabalhar.com muitas pessoas tem nos perguntado sobre quais tecnologias foram utilizadas para construí-lo, e aqui vamos falar um pouco sobre o projeto, seu ambiente e suas gems.
O OndeTrabalhar.com está implantado em um servidor rodando Passenger com Ruby Enterprise Edition, utilizando o httpd. Ainda utilizamos o plugin ExceptionNotifier, para sermos avisados por email sempre que um erro 500 ocorre, e a gem request-log-analyzer, que analiza o arquivo de log e consegue mostrar estatísticas bem interessantes sobre o uso do sistema.
Utilizamos também as bibliotecas javascript prototype e script.aculo.us, criamos muitas rake tasks para automatizar diversas tarefas e criamos algumas regex bem malucas (com a ajuda da ferramenta Rubular, que permite que testemos uma regex muito facilmente).
Abaixo, segue a lista das principais gems e suas funcionalidades:
- authlogic: autenticação e autorização
- brazilian-rails: validação de CNPJ, internacionalização de mensagens
- will-paginate: paginação
- acts-as-taggable-on-steroids: criação e manipulação de tags
- simple-captcha: geração de captcha
- validates-unchangeable: gem que adiciona uma validação nos modelos, permitindo fazer a verificação de que determinado atributo não irá mudar nunca
- rufus-scheduler: agendamento de tarefas
- rmagick: geração de imagens (dependência do simple-captcha)
- memcached: servidor de cache
- acts-as-solr: busca textual
Além deles, ainda utilizamos algumas gems para conseguirmos fazer nossos testes, que cobrem exatos 95% do nosso código, uma excelente medida:
- rspec-rails
- cucumber
- webrat
- selenium-client: para testes com cucumber que envolviam javascript
- rcov: geração de relatório de cobertura
Como todo projeto, aprendemos novos detalhes e problemas do dia a dia que enfrentamos com Rails. Adicionamos o resultado dessa experiência no nosso curso de rails, e os detalhes mais avançados estão em um novo, que será lançado em breve.
ASSINE NOSSO RSS




Luiz Aguiar
05. ago, 2009
Muito bom Cauê, parabéns!
Aqui na Gonow estamos usando o RPM (http://newrelic.com/) e o Hoptoad (http://www.hoptoadapp.com/), são ferramentas excelentes, vale a pena dar uma olhada mais de perto.
[]s
Alberto Souza
06. ago, 2009
muito legal!!!, o projeto ficou muito bom. Fiquei bastante impresionado com a parte de design, usabilidade rolou em alta, tudo bem intuitivo.
Fernando Boaglio
08. ago, 2009
Cauê, quantas pessoas participaram na construção do site e qual a experiência delas em Ruby? Quanto tempo demorou para implementar tudo, incluindo os testes?
Cauê Guerra
08. ago, 2009
Então cara, o primeiro commit foi em 27 de fevereiro, logo foram 5 meses. No entanto, se formos considerar que praticamente todos os devs trabalhavam part-time nesse projeto, acho que poderíamos ter feito o mesmo trabalho com 2 ou 3 meses.
Ao todo, já passaram pelo projeto cerca de 6 pessoas, com experiências bem variadas e quase sempre estavámos em 2 ou 3 pessoas codando.
Como todos os projetos da Caelum, o foco principal é garantir que não haja ilhas de conhecimento, seja de algum produto em específico ou de tecnologias.