OndeTrabalhar.com - os bastidores desse projeto Rails
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.