terça-feira, 10 de junho de 2014

Base para estudos

Tendo em vista a necessidade de um livro para ter como base no desenvolvimento do projeto Android, buscamos com nossos professores a indicação de um livro de qualidade. Foi indicado a nós, o livro "Google Android: Aprenda a criar aplicações para dispositivos móveis com o Android SDK" de Ricardo Lecheta, Novatec.



Buscamos o livro e já estamos utilizando para conhecer mais sobre o sistema Android que será utilizado no projeto. O livro faz uma boa abordagem sobre o sistema, indicando diferentes formas de atingir objetivos e deixando bem claro para o leitor os modos de se desenvolver no sistema.O grupo usará o livro em conjunto para consultas no desenvolvimento do projeto.
O livro traz todos os passos iniciais no momento do desenvolvimento de um projeto, desde como instalar o emulador, o SDK e passos para configuração do ambiente de desenvolvimento, até utilização de ferramentas mais avançadas como a utilização de banco de dados, execução de aplicativos em segundo plano, comunicação com a internet e utilização do GPS no sistema Android. A obra aborda do básico ao avançado.

segunda-feira, 2 de junho de 2014

Tabelas do Banco de Dados Ride App

A imagem abaixo descreve um modelo inicial das tabelas que constarão no banco de dados. Esse modelo é passível de mudanças no decorrer do desenvolvimento do projeto, uma vez que foi feito de acordo com nossas necessidades iniciais.

Rascunho das tabelas do banco de dados

Teremos as seguintes tabelas:
  • TB_PESSOA: armazenará os dados dos usuários que serão fornecidos durante o cadastro. Possui os campos:
    •  ID_Pessoa (primary key, inteiro, auto_increment);
    • Nome (varchar);
    • Sexo (enum);
    • E-mail (varchar), que atuará também na efetuação do longin;
    • Senha (varchar);
    • Telefone (integer);
    • CPF (integer);
    • RG (integer);
  • TB_CARONEIRO: nesta tabela, serão guardados os dados necessários dos usuários que procuram caronas. Seus campos são:
    • ID_Caroneiro (primary key, inteiro, auto_increment);
    • ID_Pessoa (foreign key);
    • Origem (varchar), de onde o usuário pretende pegar a carona;
    • Destino (varchar), para onde o usuário está indo.
  • TB_CARONISTA: aqui serão guardados os dados necessários dos usuários que orfertarão caronas. Possui os campos:
    • ID_Caronista (primary key, inteiro, auto_increment);
    • ID_Pessoa (foreign key);
    • ID_Carro (foreign key);
    • ID_Itinerário (foreign key);
  • TB_CARRO: o usuário que oferta a carona deverá registrar algumas informações de seu carro, para que o caroneiro identifique o caronista. Desta forma, teremos:
    • ID_Carro (primary key, inteiro, auto_increment);
    • Marca (varchar);
    • Modelo (varchar);
    • Cor (enum);
    • Placa (varchar);
    • QtdeLugares (integer), que guarda o número referente à quantidade de caronas o caronista ofertará. Por meio deste dado, evitaremos que haja mais pessoas pegando caronas do que o capacitado.
  • TB_ITIN_RUA: esta tabela possuirá os itinerários feito pelo usuário que oferta a carona. Nela, consta a identificação das ruas pelas quais o usuário passa e a ordem pela qual ele passa por essas ruas. Possui os campos:
    • ID_Itinerário (primary key, inteiro, auto_increment);
    • Nome_Itinerário (varchar);
    • ID_Rua (foreign key);
    • Ordem_Ruas (integer);
  • TB_RUA: possui o nome das ruas e suas identificações:
    • ID_Rua (primary key, inteiro, auto_increment);
    • Rua (varchar);
  • TB_MOMENTO: essa tabela representará o ponto de encontro entre o caronista e o caroneiro. Nela, consta:
    • Data (date), informa a data que ocorrerá/ocorreu a carona;
    • Hora (time without time zone);
    • ID_Caroneiro (foreign key);
    • ID_Caronista (foreign key);
O banco de dados, como já dito antes, será construído no PostgreSQL após a conferência por parte dos professores.

segunda-feira, 26 de maio de 2014

Tecnologias utilizadas

O desenvolvimento do aplicativo Ride App, terá a utilização de plataformas atuais e atualizadas, em busca de otimizar a aprendizagem para os estudantes e o desempenho do aplicativo. Ele será desenvolvido para dispositivos móveis tendo em vista a necessidade da versatilidade e fácil acesso à plataforma em busca de caronas.

O aplicativo Ride App, será produzido para a plataforma Android, um sistema operacional open source desenvolvido para dispositivos móveis, produzido pela Google Inc. Sendo este um dos motivos para termos escolhidos este sistema operacional, o Android é o sistema operacional mais utilizado do mundo, com cerca de 70% do mercado. Outro motivo para a escolha deste sistema operacional, são os recursos que o seu desenvolvedor oferece, como API's, o que proporciona um grande auxílio para os programadores.


A linguagem de programação utilizada para o desenvolvimento será a linguagem Java, a linguagem de programação orientada a objetos desenvolvida nos ano 90 pela Sun Microsystems, adquirida posteriormente pela Oracle, que é executada por uma máquina virtual ao invés de ser compilada para código nativo como as linguagens de programação convencionais. Java é a segunda linguagem de programação mais utilizada no mundo.

Para o desenvolvimento na linguagem Java, utilizaremos o ambiente de desenvolvimento (IDE) Eclipse. Além do Java, o Eclipse, aceita várias outras linguagens, como C/C++, PHP, Python. Para a programação na plataforma Android no Eclipse, é necessária a instalação do ADT (Android Develpment Tools) plugin, que tem a finalidade de proporcionar o desenvolvimento pelo IDE. Este plugin já foi instalado pelos componentes do grupo.

Para o desenvolvimento Android, é necessária a instalação do SDK, sendo este o seu kit de desenvolvimento que proporciona ferramentas e API's para o desenvolvimento de programas. São programas com um sistema operacional, aplicação e interface.

Tendo em vista a necessidade da utilização de coordenadas geográficas, utilizaremos o gerenciador de banco de dados PostgreSQL, de código aberto e que foi desenvolvido primeiramente como um projeto na universidade de Berkeley, na Califórnia, e que atualmente é coordenado pelo Global Development Group. Este gerenciador oferece a extensão espacial postGIS, que permite o armazenamento de objetos do tipo GIS(Sistema de Informação Geográfica) no banco de dados.

Por fim, instalamos o plugin SVN para acessarmos o subversion via Eclipse. Este acesso pelo Eclipse é muito simples e já foi testado com sucesso em seu funcionamento.

Todas as tecnologias listadas foram escolhidas com base em nossas necessidades iniciais, portanto novas tecnologias poderão ser incorporadas ao longo do desenvolvimento do aplicativo.

segunda-feira, 19 de maio de 2014

Introdução ao Ride App

Um dos maiores problemas que enfrentamos nos dias atuais, não só na nossa cidade, mas em todo o mundo, é o trânsito. Se observarmos bem, há apenas um passageiro em cada carro, numa média geral. Se cada carro transportasse quatro pessoas, o trânsito diminuiria em 4 vezes. Pensando nisso, projetaremos um aplicativo que visa amenizar este problema por meio de troca de caronas entre usuários, melhorando o trânsito e a mobilidade urbana. Como consequência, além de proporcionar a comunicação entre os participantes, o aplicativo também terá impactos ambientais, tendo em vista que a emissão de poluentes reduzirá.