Aveirotrip

From Laboratório MM 5

Revision as of 08:15, 18 January 2011 by Catarinacosta (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
AveiroTrip fundo.png


Contents

Agradecimentos

Várias pessoas contribuíram para que este projecto fosse levado a bom porto, independentemente de todas as circunstâncias. Gostaríamos de agradecer especialmente aos docentes da cadeira de Laboratório Multimédia V, Professor Hélder Caixinha e Professora Licínio Mano, pela sua orientação e apoio constante. Agradecemos também aos nossos colegas Samuel Manso e Domingos Martins uma vez que deram uma ajuda inestimável, relativamente ao esclarecimento de dúvidas. Gostaríamos de agradecer também individualmente a João Maurício e Luís Ramalho pela ajuda prestada.


I Capítulo - Introdução


O presente relatório surge no âmbito da cadeira de Laboratório Multimédia V do curso Novas Tecnologias da Comunicação da Universidade de Aveiro. Nele serão espelhadas a envolvência das fases de produção do Website da empresa “AveiroTrip”. O documento apresenta-se estruturado em capítulos/secções. Primeiramente enunciamos uma pequena introdução, onde se explanam através de duas secções, os objectivos, bem como, uma visão global de todo o projecto intitulado – AveiroTrip. O “II Capítulo” design gráfico pretende explanar os estudos desenvolvidos até ao protótipo final. O “III Capítulo” refere-se à base de dados relacional desenvolvida. Nesta revelamos as entidades existentes e as relações entre as mesmas, as tabelas criadas e os respectivos campos. Neste capítulo é ainda possível visualizar o diagrama ER do MySQL Workbench. O “IV Capítulo” expõe a implementação da aplicação que se subdivide em três secções: descrição das principais funcionalidades da aplicação Web; o supracitado capítulo contém ainda o mapa de páginas (os server behaviours usados, assim como os recordsets e queries criados e parâmetro passado entre páginas) e integração com outras tecnologias (como por exemplo o Adobe Fireworks CS3) O antepenúltimo capítulo apresenta sugestões de propostas para futuros desenvolvimentos, para uma melhor optimização do trabalho. O “VI Capítulo” enuncia as conclusões finais relativamente à elaboração do projecto. O “VI Capítulo” e último, permite identificar fontes formativas que ajudaram na concretização do mesmo.

Os objectivos gerais deste documento passam por dar a conhecer a ideia conceptual do projecto através da aplicação dos conhecimentos adquiridos nas aulas. O supracitado documento pretende mostrar a planificação da Base de Dados e o desenvolvimento do site, partindo das primeiras ideias (no que diz respeito ao layout), passando pelas estratégias adoptadas (inserção de outras tecnologias para dinamismo das páginas) e ideias não concretizadas, culminando no trabalho final. No que respeita aos objectivos específicos, pretende-se apresentar os problemas técnicos surgidos e as soluções encontradas na concepção do site.


O presente projecto denomina-se “AveiroTrip” e consiste na criação de um website de acordo com as temáticas de programação abordadas nas aulas de Laboratório Multimédia 5, tendo por suporte o programa Adobe Dreamweaver CS3. “AveiroTrip” visa o desenvolvimento de um website com fins lucrativos, para utilizadores que possam constituir o público-alvo deste género de aplicações – turismo. O supracitado projecto tem por objectivo geral a criação de um site onde os utilizadores sejam capazes de planear uma visita à cidade de Aveiro. Através deste, os utilizadores poderão proceder a reservas de hotéis, restaurantes, bem como, planificar percursos turísticos dentro da cidade e partilhar imagens com possíveis utilizadores. O grupo considera esta ideia exequível, uma vez que, se verificou um fraco investimento nesta área na cidade de Aveiro.


II Capítulo - Design Gráfico



Todos os elementos gráficos, presentes na aplicação foram desenvolvidos pelos elementos do grupo. O logótipo foi desenhado, tendo como objectivo o seguinte:

       AveiroTrip logo.jpg 

Pretendia-se que a letra sobre os quadrados coloridos tivesse um duplo sentido. Uma vez que a empresa denomina-se “AveiroTrip” através do logótipo pretende-se que este possa ser ido como a iniciais principais do nome - “A” e “T”. Desta forma, toda a elaboração do logo teve em conta esta vontade, resultando a seguinte ideia:

Pretende-se que se pareça a um “A”, de Aveiro.

       AveiroTrip logo A.jpg

Pretende-se que se pareça a um “T”, de Trip.

       AveiroTrip logo T.jpg

Na criação do produto multimédia foi tido como preocupação do grupo o desenvolvimento de um layout e funcionalidades consistentes ao longo da navegação. Desta forma está presente ao longo de toda a navegação, e em todos os ecrãs, o menu de navegação que efectua as hiperligações para os lugares correctos:

                                                  AveiroTrip menu.jpg

Durante toda a exploração do Web site, os utilizadores poderão a qualquer altura voltar à página de Inicial. Esta possibilidade é executável através de uma hiperligação implementada no próprio header sobre o login. Na imagem do logo foi introduzido um “title” de forma a ajudar os utilizadores nesta acção (title="AveiroTrip - página Inicial).

                                              AveiroTrip ajuda navegacao logo.jpeg

Ainda na barra de navegação (header) o utilizador terá ajudas através de “title’s” de forma a facilitar a navegação.


                                              AveiroTrip ajuda header.jpg


III Capítulo - Base de dados relacional




A Base de Projecto armazena os dados de catorze tabelas/entidades: trip; utilizador_has_trip; utilizador; compra; produtos; dias; dias_has_restauracao; restauracao; tipo_comida; dias_has_locais_visita; locais_visita; tipo_local_visita; dias_has_hotelaria; hotelaria. As relações existentes entre as entidades supracitadas são as seguintes:


trip - 1:M - utilizador_has_trip;

utilizador_has_trip – M:1 - utilizador;

utilizador – 1:M – compra

compra – M:1 -produtos;

utilizador_has_trip – 1:M - dias;

dias – 1:M - dias_has_restauracao;

dias_has_restauracao – M:1 - restauracao;

restauracao- M:1 - tipo_comida;

dias – 1:M - dias_has_locais_visita;

dias_has_locais_visita – M:1 -locais_visita;

locais_visita – M:1 -tipo_local_visita;

dias – 1:M - dias_has_hotelaria;

dias_has_hotelaria – M:1 - hoteleria



Trip- Nesta tabela é armazenada os dados sobre a trip (nome e descrição)

Utilizador_has_trip- Aqui são guardados o número de pessoas que irão efectuar a viagem, data de início e data de fim da viagem. Existe também a possibilidade doa utilizadores comentarem e votarem uma trip.

Utilizador – Nesta entidade são inseridos os dados do utilizador

Compra- é armazenada a data e quantidade da compra

Produtos- Estão disponíveis os produtos da Universidade de Aveiro

Dias_has_restauracao- Esta tabela guarda o preço do restaurante, sendo possível inserir comentários e votar os restaurantes.

Restauracao- Esta tabela contem os dados dos restaurantes

Tipo_comida- Esta tabela contem o tipo de comida de cada restaurante

Dias_has_locais_visita- Nesta tabela guarda os comentários e votação dos locais de visita

Locais_visita- Esta tabela contem os dados dos locais de visita

Tipo_local_visita- Esta entidade contém o tipo de local de visita

Dias_has_hotelaria- Aqui é guardado o preço do hotel , sendo possível inserir comentários e votar.

Hotelaria- Esta tabela possui os dados sobre os hotéis.


A base de dados possui todos os campos traduzidos em inglês, para que futuramente seja possível implementar o site bilingue. Devido à falta de tempo e recursos, tal não foi possível, contudo a execução da BD já foi feita a pensar nessa mesma hipótese à posteriori.


AveiroTrip BD.jpg


IV Capítulo - Implementação da aplicação



As principais funcionalidades da nossa aplicação web são:


Registo- O utilizador pode registar-se no site através de um fomulário. Os campos são todos de preenchimento obrigatório. O formulário verifica se o username já existe, se já existir não efectua o registo com sucesso tendo que se registar novamente.

Login – Após o registo o utilizador poderá fazer o login na página podendo assim aceder a páginas com acesso restrito.

Logout- Permite que o utilizador termine a sua sessão.Esta funcionalidade só está presente se o utilizador tiver feito o login.

Hotéis- Apresenta-nos a lista dos hotéis existentes e permite aceder aos detalhes dos mesmos.

Restaurantes -Apresenta-nos a lista dos restaurantes existentes e permite aceder aos detalhes dos mesmos.

Locais-Apresenta-nos a lista dos locais de visita existentes e permite aceder aos detalhes dos mesmos.

Produtos Universidade de Aveiro- O utilizador acede a lista de produtos da Universidade e pode adquiri-los. Ao adquirir o produto será adicionado à sua compra onde será descrita a quantidade, o preço e o total. Existe ainda a possibilidade de remover produtos da compra.

Efectuar registo – Aqui o utilizador cria o seu plano de viagens. Insere o nome e a descrição da trip, de seguida insere o número de pessoas que vão viajar e a data de início e fim da viagem. Através de uma função calculamos o número de dias apresentando os vários dias e uma tabea para preencher com as opções.




Sitemap


HOTELARIA


RESTAURAÇÃO (fazer hiperligação)


LOCAIS DE VISITA (fazer hiperligação)


PRODUTOS UNIVERSIDADE (fazer hiperligação)


SITEMAP (fazer hiperligação)


REGISTO (fazer hiperligação)


LOGIN (fazer hiperligação)


CONTACTOS (fazer hiperligação)


LOGOUT (fazer hiperligação)




1. Server behaviours


Dynamic text- permiti-nos a inserção dinâmica de dados, nomeadamente data de inicio, número de pessoas,etc.

Dynamic attribute- permiti-nos a inserção dinâmica de dados mas que necessita de manipulação de código para que a inserção ocorra correctamente.

Log In User – permite realizar o login do utilizador

Check new username- verica se o username que o utilizador tenta registar já existe na base de dados.

Log out user- permite realizar o logout do utilizador

Repeat region- foi usado para podermos repetir elementos vindos da base de dados

DWTeam- Obtivemos este plugin que nos premitiu dispor as nossas zonas de repetição de forma horizontal, apresentando 3 elementos em cada linha. Este plugin gerou automaticamente um código que está presente nas páginas: hotel.php , restaurante.php e locais.php


2. Recordsets

Foram desenvolvidos onze Recordsets:

-rs_utilizadores

-rs_hoteis

-rs_hoteistodos

-rs_restaurantes

-rs_restau_tudo

-rs_locais

-rs_locais_tudo

-rs_produtos

-rs_reserva

-rs_trip

-rs_dias



3. Queries


Compra.php- seleciona o id da hotelaria para que este possa ser passado para que este possa ser inserido na compra

  $query_rs_hotelaria = "SELECT * FROM hotelaria  WHERE id_hotelaria = $id"; 


Trip.php – insere os dados do nome da trip e a descrição na base de dados

 if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "trip")) {
           $insertSQL = sprintf("INSERT INTO trip (nome, descricao) VALUES (%s, %s)",
            GetSQLValueString($_POST['trip'], "text"),
            GetSQLValueString($_POST['descr'], "text"));
mysql_select_db($database_project, $project);
$Result1 = mysql_query($insertSQL, $project) or die(mysql_error());
$insertGoTo = "reserva.php?action=register&result=true&IdHasTrip=".mysql_insert_id();
 if (isset($_SERVER['QUERY_STRING'])) {
   $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
   $insertGoTo .= $_SERVER['QUERY_STRING'];
 }
 header(sprintf("Location: %s", $insertGoTo));
}



4. Parâmetros passados entre páginas


Os parâmetros passados entre páginas foram feitos pelos métodos de get e de post.

GET:

-Acção para adicionar os produtos e removê-los.

 Ex: if($_GET['accao'] == 'add')

-O total de linhas

 Ex: if (isset($_GET['totalRows_rs_restaurantes'])) {
 $totalRows_rs_restaurantes = $_GET['totalRows_rs_restaurantes'];

POST:

-Id's dos produtos e respectivas quantidades que serão adicionados ao array

 Ex:foreach($_POST['prod'] as $id => $qtd)

-Parâmetros de Username e password

-Variáveis de sessão


Criamos os menus no Fireworks e importamos para as nossas páginas, gerando automaticamente um código de JavaScript. O layout do site foi desenvolvido com o uso de formatações através de CSS.



V Capítulo - Desenvolvimentos Futuros


Devido a constrangimentos humanos e temporais, houve muitas ideias que foram deixadas, para um futuro. Desta forma, pretenderíamos implementar:

1- Sistema de votação dos hotéis, restaurantes e locais de visita.

2- Cálculo do preço total da viagem

3- Partilha de fotografias por parte dos utilizadores

4- Inserção de comentários

5- Efectuar melhorias no sistema de reservas

6- Possibilidade de escolher o idioma


Conclusões


Apesar de a realização do nosso projecto “AveiroTrip”, ter ficado muito aquém dos objectivos pré-definidos para o presente projecto da componente prática de Laboratório Multimédia 5, temos plena noção que o mesmo não está todo funcional, derivado a uns problemas de última hora em que já não nos encontrávamos capazes para resolver, bem como, pelo forte esforço que dê-mos ao trabalho sobretudo por este ser composto por apenas dois elementos. Apesar de o website não funcionar na sua plenitude, o grupo decidiu arriscar e acabámos por descarta preocupações meramente estéticas.


Referências bibliográficas



http://clares.wordpress.com/2008/02/10/calculando-a-diferenca-entre-2-datas/ http://www.mxstudio.com.br/dreamweaver/loop_horizontal_e_vertical__com_tabelas/ http://net.tutsplus.com/tutorials/php http://www.videoaulasbrasil.com.br/php/carrinho-de-compras-com-php/ http://www.w3schools.com/php/php_ref_array.asp http://vector.tutsplus.com/articles/web-roundups/60-free-vector-icon-packs-for-design-professionals/ http://www.gosquared.com/liquidicity/archives/122

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox