Umquarto
From Laboratório MM 5
(→Referências bibliográficas) |
(→Introdução) |
||
| Line 2: | Line 2: | ||
UmQuarto.PT | UmQuarto.PT | ||
| - | Grupo: | + | Grupo:<br /> |
| - | Fabienne Pimenta, | + | Fabienne Pimenta,<br /> |
| - | Licínio Marques, | + | Licínio Marques,<br /> |
| - | Miguel Leite. | + | Miguel Leite.<br /> |
=== Objectivo do documento === | === Objectivo do documento === | ||
| Line 17: | Line 17: | ||
Como é do conhecimento comum, a maioria dos jovens que ingressa no Ensino Superior pela primeira vez e se depara com o facto de ir viver para outra cidade, encontra no seu destino a dificuldade de encontrar um quarto para habitar. Para além destes, também outros alunos insatisfeitos com a sua casa actual procuram novos quartos, voltando a encontram dificuldades. No nosso projecto propusemo-nos a criar um website que conseguisse reunir o maior número possível de opções, para facilitar a estes possíveis clientes uma forma fácil, rápida e eficaz, á distância de uns cliques, de encontrarem um quarto. | Como é do conhecimento comum, a maioria dos jovens que ingressa no Ensino Superior pela primeira vez e se depara com o facto de ir viver para outra cidade, encontra no seu destino a dificuldade de encontrar um quarto para habitar. Para além destes, também outros alunos insatisfeitos com a sua casa actual procuram novos quartos, voltando a encontram dificuldades. No nosso projecto propusemo-nos a criar um website que conseguisse reunir o maior número possível de opções, para facilitar a estes possíveis clientes uma forma fácil, rápida e eficaz, á distância de uns cliques, de encontrarem um quarto. | ||
| - | No projecto teremos duas grandes áreas, a dos inquilinos e dos Senhorios. Serão pedidos dados obrigatórios no registo de cada um deles, conforme o estabelecido e pretendido nas Bases de Dados relacionais. A área reservada ao Senhorio tem como objectivo o registo do mesmo, assim como a inserção de quartos para serem futuramente visualizados pelos interessados. Já na área do Inquilino, não será necessário o seu registo para procurar por quartos, estando alguma informação crucial apenas disponibilizada após o seu registo. | + | No projecto teremos duas grandes áreas, a dos inquilinos e dos Senhorios. Serão pedidos dados obrigatórios no registo de cada um deles, conforme o estabelecido e pretendido nas Bases de Dados relacionais. A área reservada ao Senhorio tem como objectivo o registo do mesmo, assim como a inserção de quartos para serem futuramente visualizados pelos interessados. Já na área do Inquilino, não será necessário o seu registo para procurar por quartos, estando alguma informação crucial apenas disponibilizada após o seu registo. |
| - | + | ||
== Base de dados desenvolvida == | == Base de dados desenvolvida == | ||
Revision as of 06:30, 18 January 2011
Contents |
Introdução
UmQuarto.PT
Grupo:
Fabienne Pimenta,
Licínio Marques,
Miguel Leite.
Objectivo do documento
Este relatório refere-se à execução do projecto final da disciplina de Laboratório Multimédia 5 que consiste na execução de bases de dados relacionais e páginas dinâmicas para a Web, recorrendo às linguagens de programação PHP, JavaScript, CSS, HTML, AJAX e SQL. Abordaremos as várias fases do nosso trabalho, desde a formulação do conceito à posterior execução (desde o design à programação do Site e da Base de dados necessária ao correcto funcionamento do mesmo), passando pelos desafios e problemas com que nos deparámos, assim como as soluções encontradas para ultrapassar estes.
Visão geral do projecto
Como é do conhecimento comum, a maioria dos jovens que ingressa no Ensino Superior pela primeira vez e se depara com o facto de ir viver para outra cidade, encontra no seu destino a dificuldade de encontrar um quarto para habitar. Para além destes, também outros alunos insatisfeitos com a sua casa actual procuram novos quartos, voltando a encontram dificuldades. No nosso projecto propusemo-nos a criar um website que conseguisse reunir o maior número possível de opções, para facilitar a estes possíveis clientes uma forma fácil, rápida e eficaz, á distância de uns cliques, de encontrarem um quarto.
No projecto teremos duas grandes áreas, a dos inquilinos e dos Senhorios. Serão pedidos dados obrigatórios no registo de cada um deles, conforme o estabelecido e pretendido nas Bases de Dados relacionais. A área reservada ao Senhorio tem como objectivo o registo do mesmo, assim como a inserção de quartos para serem futuramente visualizados pelos interessados. Já na área do Inquilino, não será necessário o seu registo para procurar por quartos, estando alguma informação crucial apenas disponibilizada após o seu registo.
Base de dados desenvolvida
A base de dados foi criada em torno de três tipos de usuários, Administrador, Senhorio e Inquilino. Na tabela Senhorio são armazenados dados relativos aos utilizadores que se registem nesta categoria, como Nome, Data Nascimento, Localidade, uma variável de referência para o ID de Utilizador, entre outros. Com esta informação preenchida por parte dos utilizadores, cada Senhorio poderá inserir quartos para alugar. Terá ainda a possibilidade de verificar o número de visualizações que os seus imóveis têm por parte de inquilinos. O tipo de utilizador Inquilino é em tudo semelhante ao Senhorio, tendo apenas mais alguns campos. A tabela Inquilino tem ligação com a tabela Favoritos, pois cada uma destas pessoas pode ir criando uma lista de Quartos preferidos, dando rápido acesso a esses Quartos. Isto tudo com o propósito de Alugar um Quarto. É esse o objectivo primordial dos utilizadores registados nesta categoria. Há ainda a possibilidade dos Inquilinos deixarem comentários nos vários Quartos, sendo registado a data em que foi feito e por que utilizador (só registados).
Implementação
Descrição das principais funcionalidades da aplicação web
Este projecto tem como fundamento a integração de um serviço básico de inserção e aluguer de quartos com uma rede social. Os utilizadores têm acesso à pagina de apresentação site,onde podem ver os últimos quartos a serem inseridos,assim como a possibilidade de login ou registo.
-alteração dos dados pessoais, tanto dos senhorios como dos inquilinos;
-inserção de quarto, com fotografia, morada, valor da renda, localidade;
-comentar quarto por parte dos inquilinos. Antigos inquilinos podem tecer opinião sobre o quarto e o senhorio, assim como possíveis interessados;
-procurar quarto por distrito, custo mínimo/máximo,tamanho e visualiza-lo;
-Gostar de um quarto, dando a possibilidade dos utilizadores verem quantas pessoas gostam do quarto(aplica-se numa visão de Marketing)
-alugar quarto.
Mapa de páginas
-header.php e footer.php
-index.php
-login.php
-register_inquilino.php
-register_senhorio.php
-edit_inquilino.php
-edit_quarto.php
-edit_senhorio.php
-inserir_quarto.php
-procurar.php
-resultado_pesquisa.php
-mostrar_quarto.php
-sitemap.php
-ajuda.php
-alugar.php
-contactos.php
Server Behaviours utilizados
- Insert Record : inserir novo registo na BD;
- Update Record : actualizar um registo na BD;
- Repeat Region: resultados da pesquisa e quartos recentes aparecem de forma dinâmica;
- Display Total Records : mostrar o número total de registos de uma Query;
- Show Region : mostrar um conteúdo dependendo de determinada condição;
- Log In: variável de sessão e verificar existência de utilizadores registados e guardados na BD;
- Log Out User: terminar uma variável de sessão;
- Check New Username: verificar a existência de um utilizador(por email);
- User Restrict Access to Page : restrição de acesso a utilizadores com registos de categoria diferentes.
Recordsets/Queries utilizados
SELECT * FROM inquilino WHERE inquilino_id = %s
SELECT * FROM senhorio WHERE senhorio_id = %s
SELECT * FROM quarto WHERE quarto.tamanho >= %s AND quarto.tamanho <= %s AND quarto.preco >= %s AND quarto.preco <= %s AND quarto.localidade = %s AND quarto.livre = %s
SELECT * FROM quarto, favoritos, inquilino WHERE quarto.quarto_id = favoritos.quarto_id AND inquilino.inquilino_id = favoritos.inquilino_id
Parâmetros passados entre páginas
Na página de Pesquisa de quartos, foi implementado um Recordset (rs_pesquisa), onde queríamos que a Querie nos retornasse os quartos cujo tamanho e preço se situavam entre os parâtremos mínimo e máximo pedidos no formulário de pesquisa, e cuja localidade fosse igual à pedida no formulário, por selecção no mapa. Neste Recordset surgiu o problema de o parâmetro “localidade” poder estar ou não definido, pelo que tivemos que criar um critério de decisão entre duas diferentes Queries: uma se estiver definida a zona, e outra se não estivesse definida. Foi também alterado o critério de decisão para a atribuição do valor “zona” passado no formulário de pesquisa, visto que este está sempre definido, com o valor null por defeito. O critério de decisão foi então a desigualdade entre o parâmetro passado por POST e o valor null.
$local_rs_pesquisa = "a";
if ($_POST['localidade'] =! null) {
$local_rs_pesquisa = $_POST['localidade'];
--
if($local_rs_pesquisa == "a") {
$query_rs_pesquisa = sprintf("SELECT * FROM quarto WHERE quarto.tamanho >= %s AND quarto.tamanho <= %s AND quarto.preco >= %s AND quarto.preco <= %s", GetSQLValueString($tamanho_min_rs_pesquisa, "double"),GetSQLValueString($tamanho_max_rs_pesquisa, "double"),GetSQLValueString($preco_min_rs_pesquisa, "double"),GetSQLValueString($preco_max_rs_pesquisa, "double"));
} else {
$query_rs_pesquisa = sprintf("SELECT * FROM quarto WHERE quarto.tamanho >= %s AND quarto.tamanho <= %s AND quarto.preco >= %s AND quarto.preco <= %s AND quarto.localidade = %s", GetSQLValueString($tamanho_min_rs_pesquisa,
"double"),GetSQLValueString($tamanho_max_rs_pesquisa, "double"),GetSQLValueString($preco_min_rs_pesquisa,
"double"),GetSQLValueString($preco_max_rs_pesquisa, "double"),GetSQLValueString($local_rs_pesquisa, "text"));
}
Para além disto, utilizámos a passagem de parâmetros por URL para passar ID’s de Utilizadores, ID’s de Inquilinos, ID’s de Senhorios, ID’s de Quartos ou valores de Acções e Resultados de acções ( action=”login”&result=”true” ).
Integração (e.g. Flash, AJAX Frameworks, etc)
Jquery de SlideShow presente na página de apresentação(index.php) e Jquery do menu de navegação.
Desenvolvimentos Futuros
-API Google Maps
-Confirmação de registo por email
-Procura rápida
-Número visitas que o quarto recebe
-Mínimo/máximo tempo de aluguer de cada imóvel (inserido pelo Senhorio)
-Favoritos
Conclusões
Com a realização deste projecto tivemos o desafio de implementar todo o conhecimento adquirido na disciplina de Laboratório 5, numa plataforma 2.0. Forças superiores ao nosso estado de simples mortais, impossibilitaram a total conclusão do projecto, pois com o avançar do trabalho, foram sempre aparecendo novas ideias para discutir e implementar que nos pareciam bastante apropriados ao desafio. Nem tudo é uma derrota porque o conhecimento leccionado foi melhor “interiorizado” e a vontade de querer saber mais para fazer melhor ficou presente nos elementos do grupo. Foi, sem dúvida uma excelente simulação do que nos espera o mundo de trabalho do desenvolvimento de plataformas Web.
Referências bibliográficas
"leigeber",[www.leigeber.com/2008/05/sliding-javascript-menu-highlight]
"csshook",[csshook.com/cssresources/50-jquery-image-showcase-plugins]
"dreamcss",[www.dreamcss.com/2009/04/create-beautiful-jquery-sliders.html]v
"wmonline",[www.wmonline.com.br/]
"Custo Justo",[www.custojusto.pt/]
"Fórum Zwame",[forum.zwame.pt/showthread.php?t=553745&page=1]
"W3Schools",[www.w3schools.com]
"phpbuilder",[www.phpbuilder.com]