Como ser um Desenvolvedor



0. Pré-Requisitos

Para participar do desenvolvimento do Abelo só são necessários 2 (dois) pré-requisitos:

  1. 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 wink . Então toda a parte referente ao desenvolvimento do sistema na nossa web como, requisitos, melhorias, milestones estão quase todas em inglês.
  2. Ter o código fonte: Este vocês encontrarão mais ai embaixo wink



1. Lista de Desenvolvimento

Participe da lista de desenvolvimento, se apresente e tire suas dúvidas por lá. wink



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ê-las

3.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-ruby

OBS: 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:migrate

Se tudo ocorrer bem rode o script

  ./script/server
O servidor webrick rodará na porta 3000.

Abra o seu firefox smile 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_store

Pronto 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:prepare
para criar e preparar o banco de dados de test.

depois disso rode o comando:

  rake test


eXTReMe Tracker