Aveirotrip
From Laboratório MM 5
- Ana Catarina Costa - 45420
- Maria Garcia Nogueira - 47402
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.
- Objectivo do documento
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.
- Visão geral do projecto
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:
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.
Pretende-se que se pareça a um “T”, de Trip.
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:
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).
Ainda na barra de navegação (header) o utilizador terá ajudas através de “title’s” de forma a facilitar a navegação.
III Capítulo - Base de dados relacional
- Entidades e relações
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
- Tabelas e campos
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.
- O diagrama ER do MySQL Workbench
IV Capítulo - Implementação da aplicação
- Descrição das principais funcionalidades da aplicação Web
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.
- Mapa de páginas
Sitemap
HOTELARIA
- Hotel As Américas
- Hotel Afonso V
- Hotel Moliceiro
- Best Western Hotel Imperial
- Veneza Hotel
- Hotel Jardim
- Hotel Arcada
- Residencial Palmeira
- Hotel das Salinas
- Hotel Meliá Ria
RESTAURAÇÃO (fazer hiperligação)
- Pizzarte
- Giz food & drinks
- Galetos Dourados
- Telheiro
- Cozinha do Rei
- Ramona
- Adega Tia Micas
- Armazéns da Ria
- La Mamaroma
- Restaurante Zig Zag
- Dom Rogério
LOCAIS DE VISITA (fazer hiperligação)
- Universidade Aveiro
- Jardim e parque Infante Dom Pedro
- Teatro Aveirense
- Fórum Aveiro
- Museu de Aveiro
- Centro de Congressos de Aveiro
- Estação de caminhos de ferro
- Sé Catedral de Aveiro
- Praça do peixe
- Salinas
- Ria de Aveiro
- Estádio Municipal de Aveiro
PRODUTOS UNIVERSIDADE (fazer hiperligação)
- Trajes Académicos
- T-shirt
- Emblema
- Capa arquivadora
- Chávena
- Lápis de cor
- Porta-chaves
- Peça cerâmica
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
- Integraçã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







