Bible Service

A simple bible content provider

pictureGallery

Descrição

Esta aplicação, feita em Ruby, é um serviço que provê a Nova Versão Internacional da bíblia em português do Brasil. O conteúdo é coletado do site http://www.bible.com/.

Configuração

Supondo que você tenha o Ruby, Rails e o MySQL instalado corretamente na sua máquina, execute os seguintes comandos:

  1. Clone o repositório para um diretório do seu computador:

    git clone https://github.com/thiagokimo/bible_service.git

  2. Dentro do diretório do projeto:

    bundle install

  3. Crie o banco de dados e execute as migrações:

    rake db:create
    rake db:migrate

  4. Por fim, para coletar a bíblia execute a tarefa:

    rake bible:get_bible

Como funciona

Existem 3 entidades principais no banco:

A aplicação possui um crawler que popula o banco de dados, coletando das páginas HTML as respectivas informações de cada entidade do banco. O crawler pode ser acionado qualquer vezes for necessário. Para mais detalhes sobre o processo da coleta, acesse lib/tasks/bible.com.rake

O serviço exporta as informações coletadas em arquivos no formato JSON, através de requisições HTTP. Para uma melhor visualização, as rotas para as requisições foram aninhadas na sequencia: Book, Chapter and Verse. Segue o padrão genérico das rotas:

Exemplos de uso

Para acessar as informações, acesse a URL que corresponde com a entidade do banco de dados do seu interesse. Dentro da pasta do projeto, inicie o servidor com o comando

rails s

e visualize o conteúdo coletado acessando a URL http://localhost:3000. Para consumir as informações de outras aplicações, siga o padrão genérico das rotas. Abaixo estão alguns exemplos:

Idéias futuras e melhorias

  1. Adaptar a aplicação para coletar todas versões de bíblia disponíveis!
  2. Migrar esta aplicação de Rails para Sinatra(porque é mais leve) ;)
  3. Usar SQLite3 ao invés de MySQL (porque também é mais leve)
  4. Separar o processo de coleta em uma GEM, pra facilitar ainda mais o uso da bíblia em outras aplicações
  5. Começar a escrever as mensagens de commit em inglês, senão menos pessoas irão entender, hehehehehe.

Como contribuir

Se for contribuir, TESTE o código e ATUALIZE a documentação! É recomendado também que suas mudanças sejam feitas em uma branch que não seja a master e que você crie as pull requests dessas. Isso facilita as discussões e revisões de código.

Por favor, simplifique os commits. Mudanças monstruosas podem nos deixar receosos a aceitar suas submissões.

Bugs

Se você encontrou algum erro, fique à vontade pra abrir um registro do mesmo no GitHub. Adicione o máximo de informações que conseguir. Isso nos ajudará nas correções.

https://github.com/thiagokimo/bible_service/issues

Licença

Direitos Autorais (c) 2012 Thiago Moreira Rocha.

A permissão é concedida, gratuitamente, para qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados (o "Software"), para usar, copiar e modificar cópias do Software, de acordo com as seguintes condições:

O aviso de direitos autorais acima e este aviso de permissão devem ser incluído em todas as cópias ou partes substanciais do Software.

O SOFTWARE É FORNECIDO "COMO ESTÁ", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS SEM LIMITAÇÃO, AS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO PARA UMA FINALIDADE ESPECÍFICA E LEGALIDADE. EM NENHUM CASO OS AUTORES OU DONOS DOS DIREITOS AUTORAIS SERÁ RESPONSÁVEL POR QUALQUER RECLAMAÇÃO, DANOS OU RESPONSABILIDADE, SEJA EM UMA AÇÃO DE CONTRATO, OU NÃO, DECORRENTES DE, OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NO SOFTWARE.