Como ser um Desenvolvedor
0. Pré-Requisitos
Para participar do desenvolvimento do Abelo só são necessários 2 (dois) pré-requisitos:- Saber Inglês: Infelizmente para uns e felizmente para outros o Abelo está sendo desenvolvimento todo em inglês visto que o inglês é a lingua utilizada por projetos de software livre que pretendem receber colaboração de qualquer lugar do mundo, e esta é a noss intenção
. Então toda a parte referente ao desenvolvimento do sistema na nossa web como, requisitos, melhorias, milestones estão quase todas em inglês.
- Ter o código fonte: Este vocês encontrarão mais ai embaixo
1. Lista de Desenvolvimento
Participe da lista de desenvolvimento, se apresente e tire suas dúvidas por lá.
2. Código Fonte
Existem duas formas para baixar o código-fonte:2.1. Repositório SVN
svn co https://svn.colivre.coop.br/svn/abelo/trunk abelo
2.2. Tarballs
No tópico MilestoneItemsPtbr em "Milestones Arquivados" click na versão do tarball desejada.3. Como Rodar o Sistema?
Para rodar o sistema primeiro resolva as dependências a siga o passo "Rodando o Sistema".3.1. Dependências do Sistema
Abaixo nós descreveremos algumas dependências do sistema e como resolvê-las3.1.1. RCov
Mais informações sobre rcov.http://eigenclass.org/hiki.rb?rcov+0.1.0+prerelease Para instalar o rcov no sistema debian rode o comando:
aptitude install rcov
3.1.2. libferret
A libferret não está disponível como um pacote debian ainda. Se você sabe como construir um pacote debian você pode pegar o código fonte deste pacote aqui:http://svn.debian.org/wsvn/pkg-ruby-extras/packages-wip/ Se você não sabe como construir um pacote debian você pode instalar esta biblioteca com o gem, usando o comando:
gem install ferret
3.1.3. libgettext >=1.9.0-1
A solução de internacionalização usada pelo abelo é o gettext. Então ele também é uma dependência do sistema. No debian use o comando:aptitude install libgettext-rubyOBS: A libgettext 1.8.0 possui algum bug pois o sistema apresentou problemas para funcionar com esta versão da biblioteca.
3.2. Sobre o Sistema
3.2.1. Configure o Banco de Dados
Olhe o arquivo:config/database.yml
e configure seu banco de dados.
Nós sugerimos o uso do banco de dados sqlite3 para desenvolvimento. Então usando sqlite3 seu arquivo database.yml será algo parecido com isso:
# MySQL (default setup). Versions 4.1 and 5.0 are recommended. # # Install the MySQL driver: # gem install mysql # On MacOS X: # gem install mysql -- --include=/usr/local/lib # On Windows: # There is no gem for Windows. Install mysql.so from RubyForApache. # http://rubyforge.org/projects/rubyforapache # # And be sure to use new-style password hashing: # http://dev.mysql.com/doc/refman/5.0/en/old-client.html development: adapter: sqlite3 database: tmp/abelo_development.db # Warning: The database defined as 'test' will be erased and # re-generated from your development database when you run 'rake'. # Do not set this db to the same as development or production. test: adapter: sqlite3 database: tmp/abelo_test.db production: adapter: sqlite3 database: tmp/abelo_production.db
3.2.2. Configurando o Ambiente
No arquivo:config/envoriment.rb
Olhe para a linha com o conteúdo
# ENV['RAILS_ENV'] ||= 'production'Neste caso a linha está comentada então o sistema usará o banco de dados de desenvolvimento para rodar. Se a linha for descomentada o sistema rodará em modo de produção usando o banco de dados de produção.
3.2.3. Rodando o Sistema
rode o comando:rake db:migrateSe tudo ocorrer bem rode o script
./script/serverO servidor webrick rodará na porta
3000.
Abra o seu firefox
no endeço http://localhost:3000
Para facilitar o uso do sistema nós criamos um script que adiciona alguns dados no sistema para teste. Se você deseja utilizar estes dados rode o script:
./script/populate_clothes_storePronto você terá os usuários descritos no tópico Demostração para acessar o sistema.
3.2.4. Rodando os testes
rode o comando:rake db:test:preparepara criar e preparar o banco de dados de test. depois disso rode o comando:
rake test





