Aveirotrip
From Laboratório MM 5
| (9 intermediate revisions not shown) | |||
| Line 1: | Line 1: | ||
| - | + | [[Image:AveiroTrip_fundo.png]] | |
| + | |||
| + | * Ana Catarina Costa - 45420 | ||
| + | * Maria Garcia Nogueira - 47402 | ||
| + | |||
| + | |||
| + | |||
| + | == 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. | 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. | 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. | 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: | ||
| + | |||
| + | [[Image: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. | ||
| + | |||
| + | [[Image:AveiroTrip_logo_A.jpg]] | ||
| + | |||
| + | Pretende-se que se pareça a um “T”, de Trip. | ||
| + | |||
| + | [[Image: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: | ||
| + | |||
| + | [[Image: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). | ||
| + | |||
| + | [[Image: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. | ||
| + | |||
| + | |||
| + | [[Image:AveiroTrip_ajuda_header.jpg]] | ||
| + | |||
| + | |||
| + | |||
| + | ===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''' | ||
| + | |||
| + | [[Image:AveiroTrip_BD.jpg]] | ||
| + | |||
| + | |||
| + | |||
| + | ===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 | ||
Latest revision as of 08:15, 18 January 2011
- 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







