• Nenhum resultado encontrado

Desenvolvimento de um Portal Web para Viajantes Utilizando Ruby on Rails e Bootstrap

N/A
N/A
Protected

Academic year: 2021

Share "Desenvolvimento de um Portal Web para Viajantes Utilizando Ruby on Rails e Bootstrap"

Copied!
30
0
0

Texto

(1)

FACULDADE CAMPO LIMPO PAULISTA

BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO

Trabalho de Conclusão de Curso

Atividade Prática de Desenvolvimento de Software

Jackson Hélio de Cerqueira – 8386 André Marcos Silva (Orientador)

Atividade Prática de Desenvolvimento de Software

Desenvolvimento de um Portal

Web para Viajantes Utilizando

Ruby on Rails e Bootstrap

(2)

FACULDADE CAMPO LIMPO PAULISTA

BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO

Desenvolvimento de um Portal Web para Viajantes

Utilizando Ruby on Rails e Bootstrap

Trabalho submetido à Coordenação de Ciência da Computação da Faculdade Campo Limpo Paulista como requisito parcial para obtenção do título de Bacharel em Ciência da Computação.

Campo Limpo Pta. (SP), 06 de Junho de 2014.

Jackson Hélio de Cerqueira

Banca examinadora

Prof. Me. André Marcos Silva (Orientador) Prof. Dr. Osvaldo Luís de Oliveira

(3)

FACULDADE CAMPO LIMPO PAULISTA

BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO

Desevolvimento de um Portal Web para Viajantes

Utilizando Ruby on Rails e Bootstrap

SUMÁRIO RESUMO ... 4 1. PROPOSTA ... 4 Motivação ... 4 Objetivos ... 4 Metodologia de Trabalho ... 4 2. RESULTADOS ... 5 Apresentação Funcional ... 5 Especificação Técnica ... 6 Problemas Encontrados ... 14 3. CONCLUSÕES ... 15 4. REFERÊNCIAS ÚTEIS ... 16

ANEXO A – MANUAL DE USUÁRIO ... 17

ANEXO B – PROJETO DE SOFTWARE ... 24

(4)

RESUMO

Este trabalho detalha o desenvolvimento de um sistema web para viajantes, onde de forma simples e prática o viajante possa gerenciar suas viagens e compartilhar roteiros e gastos com seus seguidores.

Neste trabalho é detalhado o desenvolvimento do sistema web baseado na linguagem de programação Ruby utilizando o framework Rails, que proporciana maior agilidade no desenvolvmento de sistemas web, também é detalhado as principais vantagens na utilização do framework.

1. PROPOSTA

Com o propósito de desenvolvimento de um sistema web, neste trabalho é mostrado o desenvolvimento do sistema utilizando Ruby on Rails. Rails é um

framework escrito na linguagem de programação Ruby que promete aumentar a

velocidade e a facilidade no desenvolvimento de websites orientados a banco de dados. É detalhado os principais pontos que fazem com que o framework traga agilidade no desevolvimento de websites.

Motivação

A motivação desse trabalho é o aprendizado de novas ferramentas de desenvolvimento web com a finalidade de melhorar, facilitar e agilizar o desenvolvimento no dia-a-dia.

Objetivos

Este trabalho tem o objetivo de detalhar o desenvolvimento de um sitema web para viajantes, onde de forma simples e prática o viajante possa gerencar suas viagens e compartilhar roteiros e gastos com seus seguidores.

Neste trabalho é detalhado o desenvolvimento do sistema web baseado na linguagem de programação Ruby utilizando o framework Rails, assim como os principais detalhes técnicos do framework.

Metodologia de Trabalho

Para o desenvolvimento do sistema web, serão utilizadas as seguintes ferramentas:

Sublime Text v2: Ambiente de desenvolvimento (IDE) que gera códigos em Ruby e em outras diversas linguagens de programação (Sublime, 2014).

Bootstrap v3.1.1: Framework para desenvolvimento front-end,

desenvolvido em CSS (Cascading Style Sheet) e Javascript, proporciona um elegante design as suas páginas HTML (Hypertext Markup Language)

(5)

MySQL v5.5.35.0: Banco de dados de código aberto (open source). É atualmente um dos bancos de dados mais populares, com mais de 10 milhões de instalações pelo mundo (MySQL, 2014).

Ruby on Rails v4.1.0: Mais conhecido como Rails, é um framework de código aberto (open source) escrito na linguagem de programação Ruby que promete aumentar a velocidade e a facilidade no desenvolvimento de

websites, uma vez que é possível criar aplicações com base em estruturas

pré-definidas. As aplicações criadas utilizando o framework Rails são desenvolvidas com base no padrão de arquitetura (MVC)

Model-View-Controller (Ruby on Rails, 2014).

Os requisitos para o desenvolvimento do sistema web foram feitos com base nas diversas ferramentas já existente no mercado web para viajantes e também em redes sociais. Alguns dos websites consultados e analisados foram: Facebook (Facebook, 2014), Instagram (Instagram, 2014), TripAdvisor (TripAdvisor, 2014) e TripIt (TripIt, 2014).

2. RESULTADOS

Apresentação Funcional

Neste trabalho é desenvolvido um sistema web para viajantes, onde de forma simples e prática o viajante possa gerenciar suas viagens e compartilhar roteiros e gastos com seus seguidores.

As principais funcionalidades do sistema são:

 Cadastro de usuários

 Troca de senhas

 Cadastro de viagens

 Cadastro de gastos da viagem

 Cadastro de atividades da viagem

Seguir (follow) usuários do sistema.

 Consultar viagens de seguidores

 Compartilhar viagens com seguidores

 Comentar viagens de seguidores

 Consultar futuras viagens

O acesso ao sistema é restrito, somente usários que possuem credenciais para efetuar o login (usuário e senha) terão acesso. As credenciais podem ser obtidas de forma simples e rápida utilizando o link de acesso para página de cadastro de novos usuários que se encontra disponível na (Home) página inicial do sistema.

(6)

Após a validação das credenciais (usuário e senha) serem realizadas com sucesso, o usuário será redirecionado para a página inicial do sistema onde terá acesso as principais funcionalidades mencionadas acima, conforme demostrado na Figura 1.

Figura 1 - Página Inicial do sistema web

Informações detalhadas de uso dessas funcionalidades estão disponíveis no Manual de Usuário no Anexo A deste documento.

Especificação Técnica

Como proposto, neste capítulo será apresentado as especificações técnicas utilizadas no desenvolvimento do sistema web, assim como as principais vantagens da utilização do framework.

Ruby

Desevolvida por Yukiro Matsumoto no Japão em 1993, reconhecida no mundo apenas em 2000. Ruby se tornou popular devido ao grande sucesso do framework Ruby on Rails.

Ruby é uma linguagem de programação interpretada orientada a objetos. Quando dizemos que Ruby é uma linguagem interpretada, isso significa que código Ruby é compilado por um interpretador durante a execução (assim como Javascript e PHP). Tudo que é manipulado no Ruby é um objeto (object) e o resultado da manipulação também é objeto. Ela possui vários recursos para processar arquivos de texto e para fazer tarefas de gerenciamento de sistema (assim como o Perl). Ela é simples, direta ao ponto, extensível e portável.

(7)

Ruby é uma parte fundamental do sucesso do Rails. Rails usa Ruby para criar o que é chamado de linguagem de domínio específico (DSL). No caso, o domínio é o de desenvolvimento de web. Quando você está trabalhando no Rails, é quase como se você estivesse escrevendo códigos em uma língua que foi projetado especificamente para a construção de aplicações web, uma língua com o seu próprio conjunto de regras e gramática.

Recursos da linguagem:

 Ruby tem uma sintaxe simples, parcialmente inspirada por Eiffel e Ada.

 Ruby tem recursos de tratamento de execeções, assim como Java e Phyton, facilitando o tratamento de erros.

 Ruby é uma linguagem completa e pura orientada a objetos.

 A orientação a objetos do Ruby é desenhada cuidadosamente para ser completa e aberta a melhorias.

Ruby tem blocos em sua sintaxe (código delimitado por {...} ou do...end).

Ruby tem um garbage colletor que realmente é do tipo que marca-e-limpa. Ele atua em todos os objetos do Ruby.

 Ruby é altamente portável: é uma linguagem desevolvida em sua maioria no Linux, mas funciona em muitos tipos como: UNIX, DOS, Windows 95/98/Me/NT/200/XP, MacOS, BeOS, OS/2 etc.

Ruby on Rails

Mais conhecido como Rails, é um framework multiplataforma de código aberto (open source), escrito na linguagem de programação Ruby. Rails é muito bem pensado e prático. Ele ajuda a construir rapidamente websites poderosos com códigos limpos e torna a manutenção fácil de ser feita, uma vez que é possível criar aplicações com base em estruturas pré-definidas.

Rails fornece uma poderosa camada de abstração de banco de dados chamado

Active Record, que trabalha com todos sistemas de banco de dados populares.

Acima de tudo, o Rails é opinionated software. Ele tem uma filosofia da arte do desenvolvimento web que é levada muito a sério. Felizmente, esta filosofia é centrada em torno de beleza e produtividade.

Originalmente criado por David Heinemeier Hansson, Rails era iniciamente apenas um sistema no formato wiki, chamado na época de Instiki. A primeira versão, lançada em julho de 2004, de que é hoje o framework Rails foi extraído de um mundo real, a aplicação de trabalho: Basecamp, da empresa 37signals. Os criadores do Rails retiraram todas as partes específicas do Basecamp e o que restou foi Rails.

(8)

Por ter sido extraído de uma aplicação real, Rails é prático e livre de recursos desnecessários.

Rails foi projetado com agilidade em mente e que leva cada um dos princípios ágeis para o coração quase obsessivamente. Com Rails, você pode responder às necessidades dos clientes com rapidez e facilidade. Rails faz isso, aderindo a seu próprio conjunto de princípios, todos os quais ajudam a tornar o desenvolvimento ágil possível.

Rails segue o princípio don’t repeat yourself (DRY), que estabelece que as informações em um sistema devem ser expressas em um só lugar.

Um dos princípios centrais da filosofia do Rails é a noção de menos software (less

software), isso significa usar convenção sobre configuração (Convention over configuration), escrevendo menos código e acabar com as coisas que

desnecessariamente aumentam a complexidade de um sistema. Em resumo, less

software significa menos código, menos complexidade e menos bugs. MVC

Rails utiliza o padrão de arquitetura MVC (Model-View-Controller) que consiste na divisão lógica de aplicação e de trabalho em três categorias dististas: Model,

View e Controller.

No MVC, o modelo (Model) representa os dados, a visão (View) representa a interface de usuário e o controlador (Controller) direciona toda a ação.

Rails é um conjunto de bibliotecas, cada um com uma tarefa especializada. Juntos, estes indivíduos compõem o framework Rails. Das várias bibliotecas que compõem Rails, três delas mapeam diretamente para o padrão MVC, conforme Figura 2:

(9)

Active Record: Uma biblioteca que lida com abstração de banco de dados e interação

Action View: Responsável pela organização da resposta, sistema de templates que gera os HTML

Action Controller: Uma biblioteca para manipular o fluxo de aplicação e os dados vindo do banco de dados.

Rails vem com uma série de scripts chamados geradores (generators) que são projetados para tornar o seu desenvolvimento mais fácil através da criação de tudo o que é necessário para começar a trabalhar em uma tarefa particular. Uma delas é o gerador de nova aplicação (new application generator), que irá fornecer uma aplicação Rails pré-definida para que você não tenha que escrevê-la do zero. Para usar este gerador, navegue até o diretório onde deseja criar o seu projeto e digite em um terminal: rails new <nome_do_seu_projeto>

Depois de executado o comando mencionado acima, acesse o diretório do seu projeto. No diretório em questão existe uma série de arquivos e pastas geradas automaticamente que compõem a estrutura de uma aplicação Rails, conforme Figura 3.

Figura 3 – Estrutura dos arquivos e pastas gerados por padrão no Rails

Um resumo básico sobre a estrutura é descrito abaixo:

 app/ - Contém os controllers, models, views, helpers, mailers e assets da sua aplicação

(10)

 bin/ - Contém os scripts que inicializam sua aplicação.

 config/ - Contém os arquivos de routes, database e outros tipos de arquivos.

 config.ru – Arquivo de configuração para servidores em Rack

 db/ - Contém o esquema (schema) do banco de dados, assim como as migrações de banco de dados.

 Gemfile, Gemfile.lock - Esses arquivos permitem que você especifique as

bibliotecas (gem) que são necessárias para a sua aplicação Rails

 lib/ - Arquivos estendido para a sua aplicação

 log/ - Arquivos de log

 public/ - Contém arquivos estáticos e ativos compilados.

 Rakefile - Esse arquivo localiza e carrega as tarefas que podem ser executadas a partir da linha de comando

 README.rdoc - Este é um breve manual de instruções para a sua aplicação

 README.md - Este é um breve manual de instruções para a sua aplicação

 test/ - Arquivos de testes

 tmp/ - Arquivos temporários da sua aplicação

 vendor/ - Um lugar para todos os códigos de terceiros

Para iniciar o servidor da aplicação Rails deve-se utilizar o comando:

rails server ou simplesmente rails s.

Isto irá iniciar WEBrick, um servidor web distribuído com Ruby por padrão. Para ver o aplicativo em ação, abra uma janela do navegador e navegue até http://localhost:3000. Você deverá ver a página de informações do padrão Rails:

(11)

Figura 4 – Página de boas vindas após iniciar o servidor Rails

Uma das principais características que permitiu muita exposição para Rails é o comando scaffold. Scaffold é uma maneira rápida de gerar algumas das principais peças de uma aplicação. Se você quiser criar os modelos (models), visualizações (views) e controladores (controllers) de um novo recurso em uma única operação,

scaffold é a ferramenta para o trabalho.

Ele ajuda automatizar tarefas repetitivas e geralmente remover as chances de erros durante a criação de novos arquivos, ao contrário do desenvolver, o gerador nunca vai esquecer como nomear um arquivo, nem mesmo ele vai fazer um erro de digitação ao criar uma classe. Para a utilização desse gerador você terá que executar o comando abaixo informando-lhe que você quer um scaffold chamado no caso de Post:

 rails generate scaffold NAME [field:type field:type]

 rails generate scaffold Post name:string title:string content:text

O gerador cria automaticamente vários arquivos para a sua aplicação, juntamente com algumas pastas e edita seu arquivo de rotas (config/routes.rb). A figura 5 demostra uma visão geral do que ele cria:

(12)

Figura 5 – Estrutura dos arquivos gerados pelo scaffold

Para desevolver uma aplicação em Rails sem a utilização do scaffold o desenvolver precisa conhecer muito bem o funcionamento do framework.

Embora o comando scaffold crie diversos arquivos e acelere o desenvolvimento, o código que ele gera provavelmente não será o código perfeito para sua aplicação. Você muito provavelmente vai querer customizar o código gerado. Muitos desenvolvedores experientes em Rails evitam utilizar o scaffold completamente, preferindo escrever todo ou a maioria de seu código fonte a partir do zero. Rails, no entanto, faz com que seja muito simples de customizar modelos (model) para os modelos gerados, controladores (controllers), visualizações (views) e outros arquivos de origem.

(13)

Para criar um novo controller, deve-se executar o comando abaixo informando-lhe o nome do controlador e nome da ação desejada, no exemplo abaixo, chamado de "welcome " e "index":

 rails generate controller welcome index

Após a execução do comando acima, alguns arquivos foram gerados, conforme demostrado na Figura 6:

Figura 6 – Estrutura dos arquivos gerados pelo gerador de controllers

O mais importante deles é claro, o controller, localizado em

app/controllers/welcome_controller.rb e a view, localizado em

app/views/welcome/index.html.erb.

Para criar um novo model, deve-se executar o comando abaixo informando-lhe que você quer um model chamado no caso de Article:

 rails generate model NAME [field:type field:type]

 rails generate model Article title:string text:text

Com esse comando dissemos para o Rails que queremos um modelo de Article, com o atributo title do tipo string e um atributo de texto do tipo texto. Esses atributos são automaticamente adicionados à tabela de articles na base de dados e mapeado para o modelo de article.

O gerador cria automaticamente um novo arquivo de modelo no diretório

app/models e vários outros arquivos de boot. Entre eles estão uma unidade de teste (para testar a funcionalidade do seu modelo) e uma migração (migrate) de banco de dados. A migração do banco de dados contém instruções para a criação da tabela e os campos no banco de dados. Sempre que você criar um novo model, a migração é criada junto com ele.

(14)

Figura 7 – Exemplo de um arquivo de migração (migrate)

Por si só, essa migração não faz nada. Realmente, é apenas uma simples classe Ruby. Se você quer que ele faça algum trabalho e criar uma tabela no banco de dados para você, você precisa executá-lo. Para executar uma migração, você usa o

built-in db:migrate ou apenas rake db:migrate – tarefa Rake que o Rails fornece.

Figura 8 – Retorno da execução do comando de migração (migrate)

Para maiores detalhes do projeto como: modelagem do banco de dados, diagrama DER (Diagrama Entidade Relacionamento), diagrama de classes e objetos dos projetos desenvolvidos para o sistema, podem ser vistos no Projeto de Software no Anexo B deste documento.

(15)

Problemas Encontrados

Durante o desenvolvimento do sistema, foi encontrado apenas o problema relacionado a falha ao instalar o gem (plugin) rmagick, esse plugin é utilizado para o gerencimanento de imagens do sistema web. Para solucionar esse problema foi necessário a instalação dos pacotes a seguir no servidor linux, pois esse plugin tem dependências com eles:

 sudo apt-get install imagemagick

 sudo apt-get install graphicsmagick-libmagick-dev-compat

 sudo apt-get install libmagickwand-dev

Após a instalação dos plugins o sistema funcionou corretamente.

3. CONCLUSÕES

O desenvolvimento do sistema web utilizando os frameworks: Rails e Bootstrap, proporcionou um desenvolvimento de um sistema de alta qualidade, código limpo, organizado e estrutural, tornando a manutenção e a continuidade do sistema uma tarefa simples.

O tempo de desenvolvimento também é um ponto importante a ser mencionado, uma vez que o Rails possui muitos plugins (gems) desenvolvidos pela comunidade Rails que facilitam e agilizam o desenvolvimento de websites.

Vale ressaltar também que o desenvolvimento desse trabalho proporcionou um grande aprendizado, pois as ferramentas utilizadas são bastante utilizadas em grandes empresas de desenvolvimento web.

(16)

4. REFERÊNCIAS ÚTEIS

Bootstrap [on-line]. Site do framework front-end Bootstrap. Disponível em: http://getbootstrap.com/. Acessado em: 4 de Março de 2014.

Cloves Carneiro Jr., and Rida Al Barazi (2010). Beginning Rails 3 (Expert's Voice

in Web Development). Apress. New York.

Facebook [on-line]. Site da rede social Facebook. Disponível em: http://www.facebook.com. Acessado em 25 de Fevereiro de 2014.

Griffiths, David J. (2009). Head First Rails: A Learner's Companion to Ruby on

Rails. O'Reilly Media.

Instagram [on-line]. Site da rede social Instagram. Disponível em: http://www.instagram.com. Acessado em 25 de Fevereiro de 2014.

MySQL [on-line]. Site do banco de dados MySQL. Disponível em: http://dev.mysql.com. Acessado em 6 de Março de 2014.

Oliveira Junior, Eustaquio Rangel de (2006). Ruby Conhecendo a linguagem. Brasport. Rio de Janeiro.

Ruby on Rails [on-line]. Documentação de Referência Ruby on Rails. Disponível em: http://guides.rubyonrails.org/index.html. Acessado em 7 de Março de 2014. Sam Ruby, Dave Thomas, David Heinemeier Hansson (2013). Agile Web

Development with Rails 4. Pragmatic Bookshelf

Smyth, Neil (2010). Ruby Essentials. [on-line]. Disponível em: http://www.techotopia.com/index.php/Ruby_Essentials. Acessado em 9 de Abril de 2014.

Sublime [on-line]. Site do ambiente de desenvolvimento (IDE). Disponível em http://www.sublimetext.com/2. Acessado em 1 de Março de 2014.

TripAdvisor [on-line]. Site da rede social de viagem TripAdvisor. Disponível em: http://www. tripadvisor.com. Acessado em 27 de Fevereiro de 2014.

TripIt. [on-line]. Site de gerenciamento de viagens TripIt. Disponível em: http://www.tripit.com. Acessado em 27 de Fevereiro de 2014.

(17)

FACULDADE CAMPO LIMPO PAULISTA

BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO

Desenvolvimento de um Portal para Viajentes Utilizando

Ruby on Rails e Bootstrap

ANEXO A – MANUAL DE USUÁRIO

Para acessar o sistema web o usuário deverá abrir um navegador web e informar a URL (Uniform Resource Locator) que será criado durante as configurações do servidor (para mais detalhes, consulte o Manual de Implantação no Anexo C deste documento).

Ao acessá-la, o usuário será redirecionado para a tela de login do sistema, conforme figura A1, onde o mesmo deverá informar as credenciais de acesso (username e password).

Figura A1 – Tela de login do sistema web

Caso o usuário não tenha as credenciais de acesso, o mesmo poderá obtê-las de forma simples utilizando o link (Sign up) que dará acesso a página de cadastro de novos usuários, conforme demostrado na Figura A2.

Essa tela contém os seguintes campos a serem preenchidos:

First Name – Primeiro Nome do usuário.

(18)

Username – Nome utilizado para o acesso ao usuário.

Email – Email do usuário.

Password – Senha de acesso do sistema.

Figura A2 – Tela de cadastro de usuários

Após a validação das credenciais serem realizadas com sucesso, o usuário será redirecionado para a página inicial do sistema, conforme demostrado na Figura A3, onde terá acesso as seguintes opções do sistema:

Home – Página onde será exibido as futuras viagens (Upcoming Trips), últimos usuários seguidores do seu perfil (Latest Followers) e últimos usuários que você seguiu (Latest Followings).

Trips – Página de cadastro de viagens, onde será possível criar, consultar, alterar e deletar viagens. Maiores detalhes serão abordados a seguir.

Network – Página onde será exibido as viagens compartilhadas pelos seguidores (following). Maiores detalhes serão abordados a seguir.

Profile Settings – Página de alteração de informações básicas do perfil do usuário como: senha, nome, email e etc..

(19)

Figura A3 – Tela Inicial (Home) do sistema

Ao clicar sobre a imagem dos followers ou dos following, o usuário será redirecionado para a página de perfil do usuário clicado, conforme Imagem A4.

Figura A4 – Página de detalhes de usuários

Se o usuário que foi clicado não for um “following”, a opção “Follow” será exibida permitindo que o usuário do sistema comece a seguir o perfil que foi selecionado.

(20)

Ao clicar no link “Trips”, o usuário será redirecionado para a página de viagens, conforme demostrado na Figura A5. O usuário terá acesso a uma lista com todas as viagens, onde será possível consultar, editar, deletar e criar uma viagem. Para criar uma nova viagem o usuário deverá clicar sobre o botão ”Add new Trip”.

Figura A5 – Tela de Viagens

Ao clicar na opção “Add new Trip”, o usuário será redirecionado para a página de cadastrado de viagens, conforme demostrado na Figura A6. Essa tela contém os seguintes campos a serem preenchidos:

Image – Imagem que represente a viagem. Exemplo: Foto da cidade, foto de uma atividade que represente sua viagem etc..

Starts at – Data Inicial da viagem. Obrigatório o preenchimento.

Ends at – Data Final da viagem. Obrigatório o preenchimento.

Description – Descrição da viagem.

Private – Opção de compartilhamento da viagem: Privada ou entre seguidores (followers).

Tag list – Tags da viagem. Palavras chaves que representam a viagem. Exemplos: festa, praia etc..

Destinations - Destinos da viagem. Será possível adicionar mais de destino para a viagem.

(21)

Figura A6 – Tela de cadastro de viagens

Para consultar mais detalhes da viagem, o usuário deverá clicar no link “Details” onde será redirecionado para a página de detalhes, conforme Figura A7.

Na página de detalhes o usuário poderá consultar informações como: Destinos, Atividades, Gastos, comentários e etc..

Figura A7 – Tela de detalhes de viagens

Para editar uma viagem, o usuário deverá clicar no link “Edit” onde será redirecionado para a página de edição, conforme Figura A8.

(22)

Na página de edição de viagens o usuário poderá editar as principais informações como: destinos, imagem, datas, descrição além dos demais campos disponíveis na página. O usuário também poderá adicionar Atividades e Gastos da viagem.

Figura A8 – Tela de edição de viagens

Ao clicar no link “Network”, o usuário será redirecionado para a página onde será possível visualizar todas as viagens compartilhadas pelos os usuários que você segue (following) e consultar todos os following e followers, conforme Figura A9.

(23)

Ao clicar sobre o link com nome do usuário na parte superior da tela, será exibido duas opções:

Settings – Página de configurações do usuário.

Logout – Sair do sistema.

Ao clicar no link “Settings”, o usuário será redirecionado para a página onde será possível editar as informações básicas do perfil do usuário, conforme Figura A10:

(24)

FACULDADE CAMPO LIMPO PAULISTA

BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO

Desenvolvimento de um Portal para Viajantes Utilizando

Ruby on Rails e Bootstrap

ANEXO B – PROJETO DE SOFTWARE

Na figura B1 temos o diagrama de Caso de Uso, onde demostra as principais funcionalidades do sistema web, no projeto temos um único ator, que no caso será o usuário do sistema.

Figura B1 – Diagrama de Caso de Uso

A figura B2 demostra o Diagrama Entidade Relacionamento (DER) do Banco de Dados, cuja finalidade é descrever o modelo de dados do sistema web.

As tabelas foram criadas automaticamente a partir dos models gerados pelo

framework Rails e a execução do comando de migração (migrate), descrito na

(25)

Figura B2 – Diagrama Entidade Relacionamento (DER) do Banco de Dados

Como já mencionado na Especificação Técnica deste documento, models correspondem aos nomes de tabela de banco de dados. A figura B3 demostra o diagrama de modelos (models) do sistema web gerados pelo Rails.

(26)

Figura B3 – Diagrama de Modelos (models) do sistema web

A figura B4 demostra o diagrama de Controladores (controllers) do sistema web, onde temos os principais controladores e os seus respectivos métodos.

(27)

A figura B5 demostra o diagrama de implantação, onde é possível ter uma visão do ambiente.

Figura B5 – Diagrama de Implantação

No diagrama de implantação há um servidor web (WEBrick), um servidor de Banco de Dados e a máquina do usuário.

A máquina do usuário através de um navegador acessa o sistema web, todas as solicitações do usuário, conhecidas como request (requisição), são enviadas para o servidor web. O servidor web irá processar as informações que foram solicitadas pelo usuário, caso seja necessário recuperar alguma informação que está armazenada, o servidor irá fazer uma chamada utilizando o protocolo TCP (Transmission Control Protocol) ao banco de dados, logo em seguida o banco de dados retorna para o servidor web o que foi solicitado que por sua vez retorna para o usuário.

(28)

FACULDADE CAMPO LIMPO PAULISTA

BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO

Desenvolvimento de um Portal para Viajantes utilizando

Ruby on Rails e Bootstrap

ANEXO C – MANUAL DE OPERAÇÃO E IMPLANTAÇÃO

O primeiro passo para a implantação do sistema web deverá ser a configuração do ambiente onde a aplicação será instalada. A aplicação é homologada para utillizar o servidor Linux, utilizando umas de suas distribuições, o Ubuntu, versão 12.04. A razão pela qual a aplicação estar usando o Ubuntu é porque a maioria dos códigos que você escreve será executado em um servidor Linux. Ubuntu é uma das distribuições Linux mais fáceis de usar pois possui muita documentação, por esse motivo é uma boa opção utilizá-lo. Para obter o servidor, acesse o site http://releases.ubuntu.com/12.04/ e faça o download.

Para a instalação do Ruby, primeiramente será necessário fazer a instalação de algumas dependências. Abra um terminal (Prompt) e execute os comandos abaixo:

 sudo apt-get update

 sudo apt-get install git-core curl zlib1g-dev build-essential

libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev

A instalação do Ruby será feita utilizando um dos métodos disponíveis de instalação, o Ruby Version Manager (RVM).

Instale o RVM executando o comando:

 curl -L https://get.rvm.io | bash -s stable

Depois que é feita a instalação do RVM. Será necessário sair de sua sessão do terminal e iniciar uma nova. Com a nova sessão aberta execute o comando abaixo:

 source ~/.rvm/scripts/rvm

Para funcionar corretamente, o RVM tem algumas dependências que precisam ser instaladas. Execute o comando abaixo para instalá-las automaticamente:

 rvm requirements

A instalação do Ruby torna-se muito fácil uma vez que esteja utilizando RVM, para instalá-lo basta executar o comando abaixo:

(29)

O próximo passo das configurações é a instalação do RubyGems, para isso execute o comando abaixo:

 rvm rubygems current

Depois que tudo estiver configurado, é hora de instalar o Rails. Para iniciar o processo execute o comando abaixo:

 gem install rails

Este processo pode demorar um pouco. Depois que ele terminar, você terá Ruby on Rails instalados no seu servidor.

Rails vem com sqlite3 como o banco de dados padrão. Provavelmente, você não vai querer usá-lo porque ele é armazenado como um arquivo simples no disco. Você provavelmente vai querer algo mais robusto como o MySQL.

Você pode instalar o servidor e cliente MySQL a partir dos pacotes do repositório do Ubuntu. Como parte do processo de instalação, você vai definir a senha para o usuário root. Esta informação vai entrar em seu arquivo database.yml Rails da sua aplicação no futuro. Para a instalação execute:

 sudo apt-get install mysql-server mysql-client libmysqlclient-dev

Instalando o libmysqlclient-dev, você terá os arquivos necessários para compilar o

gem mysql2 que é o que o Rails irá usar para se conectar ao MySQL quando você

configurar sua aplicação Rails.

Próximo passo é atualizar as gem do projeto, para isso execute o comando abaixo:

 bundle update

Após a instalação do Ruby, Rails e Banco de Dados no servidor, esse é o momento de iniciar a instalação do sistema web. Navegue até o diretório onde desejar criar o seu projeto no servidor e descompacte para dentro desta pasta o arquivo .zip obtido do projeto.

Antes de iniciar o servidor é necessário alterar o arquivo de configuração do banco de dados do projeto. Navegue até /config e edite o arquivo database.yml incluindo os dados de acesso ao banco de dados, conforme Figura C1.

(30)

Figura C1 – Arquivo de configuração do Banco de Dados

Próximo passo da instalação é a migração do banco de dados. Esse processo irá criar todas as tabelas definidas no projeto. Para isso execute o comando:

 rake db:migrate

O último passo da instalação é iniciar o servidor Rails, para isso execute o comando abaixo:

 rails server

Processo finalizado, sua aplicação está configurada e pronta para o uso. Para acessar o sistema web, o usuário deverá abrir um navegador web e informar a URL (Uniform Resource Locator).

Referências

Documentos relacionados

Ela apresenta entrada de dados para usuário e senha, enviando os dados para um serviço web (WebServices) para validação e após isso redireciona o usuário para a tela na qual o

Para não precisar adicionar sempre todos os métodos em todo objeto que criamos, Ruby possui classes, que atuam como fábricas (molde) de objetos.. Classes possibilitam a criação

A comparação dos resultados referentes às variáveis Número de Ações Táticas e IPT entre os momentos pré-intervenção (1ª Avaliação) e pós-intervenção (4ª

Ao efetuar o login o usuário será redirecionado para a página de cadastro da ficha do trabalho de campo, caso isso não ocorra é devido a senha ou/e usuário

O problema de como garantir a autenticidade do acesso do usuário de sites de ensino à distância levou a uma busca de soluções que pudessem atender as exigências

4634 MANUEL ALEXANDRE LOPES GOMES FERREIRA 7099 MANUEL AUGUSTO DE SANCHO FONTES RODRIGUES 2290 MANUEL LUDGERO SOUSA LOUREIRO HORTA E MELO 4114 MANUEL MARIA PINA DA SILVA GARCIA

Considera-se COMISSÃO DE COMPRA a comissão paga pelo comprador do(s) animal(is) produto(s) à EMPRESA LEILOEIRA / LEILOEIROS / OUTROS, que o valor será anunciado

Análise temporal e comparação de gravações do excerto orquestral para flauta do Prélude à l´après-midi d´un faune. de Claude Debussy