Animaiseamigos
From Laboratório MM 5
| (7 intermediate revisions not shown) | |||
| Line 36: | Line 36: | ||
==Base de dados desenvolvida== | ==Base de dados desenvolvida== | ||
| + | [[File:Bd_animaiseamigos.png]] | ||
| + | |||
| + | A base de dados é constituída fundamentalmente por duas partes. A parte interactiva e social e a parte “mais comercial” dedicada mais para as empresas. | ||
| + | É da primeira parte que vamos falar, embora a segunda esteja presente não é relevante para a cadeira. | ||
| + | |||
| + | A tabela “perfil_utilizador” é a tabela principal de todas, sem essa nada se faz. O nome dos campos já explica para o que cada um serve mas convém salientar o campo “activo0” que é um boolean que vai informar se o utilizador está activo ou não. O campo “pergunta_seguranca_id” vai remeter-nos para perguntas consideradas de segurança para o caso do utilizador perder a palavra-passe. A resposta de segurança é o que vai permitir o sistema saber se realmente aquele é o utilizador esperado. O campo “tipo_perfil_id” vai buscar os perfis existentes (Particular, Empresa e Administrador), ou seja, podemos dizer que é uma especialização da tabela “perfil_utilizador”. | ||
| + | |||
| + | Depois de se referir a tabela principal segue-se para tabelas menos densas e menos importantes mas também complexas. | ||
| + | |||
| + | A tabela “actualizacoes” é aquilo que vai armazenar o que chamamos os feeds tendo como dados a descrição da actualização, a media que foi introduzida (vídeo, fotografia ou informação de estado), o utilizador que introduziu a media e ainda as datas entre as quais o feed irá estar disponível na página_principal. | ||
| + | |||
| + | A tabela “comentario” tem duas ligações a “perfil_utilizador” porque vai armazenar a informação de quem comentou e para quem comentou, o comentário em si e ainda a media a que se referia o comentário. | ||
| + | |||
| + | A tabela “amizades” vai mostrar as várias relações entre os utilizadores. Quem é amigo de quem, a data em que foi efectuado o convite e ainda o estado do convite (0 – convite feito, 1- convite aceite, 2- convite rejeitado). | ||
| + | |||
| + | A tabela “anuncios” refere-se aos anúncios de adopção ou doação que os utilizadores vão introduzir (e que vão aparecer na barra lateral), também contém datas entre as quais será o seu período de publicação, o estado do anúncio, uma descrição longa (corpo do anúncio) e uma curta (título do anúncio), tipo de anúncio (doar ou adoptar), o utilizador que está a colocar o anúncio e ainda o animal a que se refere o anúncio. | ||
| + | |||
| + | ==Implementação== | ||
| + | Para a implementação do projecto foi utilizada a dropbox quando não nos foi possível estarmos juntos. Graças à dropbox todos os elementos do grupo tiveram acesso a todos os ficheiros do projecto. | ||
| + | |||
| + | ===Descrição das principais funcionalidades da aplicação Web=== | ||
| + | A plataforma Animais e Amigos requer registo do utlizador para utilizá-la. Caso contrário apenas tem acesso à página de boas-vindas, ou de login. Uma vez que se trata de uma rede social torna-se necessário ter um registo por questões de privacidade e de controlo da informação. Uma vez criado o registo o utilizador tem acesso ao seu perfil, notícias na rede e caso tenha adicionado amigos, tem acesso ao seu perfil assim como suas publicações. Permite adicionar ao perfil os nossos animais, sejam os nossos domésticos ou para doação. Quando publicado o anúncio para doação do animal, qualquer utilizador registado pode clicar em “interessado”. Quem publica o anúncio pode depois escolher entre os interessados que achar que se adequa melhor ao animal para doação. Temos também uma barra de pesquisa sempre presente na plataforma, excepto na página de saudação que permite pesquisar pessoas e animais. | ||
| + | |||
| + | ===Mapa de páginas=== | ||
| + | [[File:Mapa_site_animaiseamigos.png]] | ||
| + | |||
| + | ====Server Behaviours utilizados==== | ||
| + | |||
| + | *'''Insert Record''' – insere dados na base de dados | ||
| + | *'''Update Record''' – actualiza/altera dados da base de dados | ||
| + | *'''Delete Record''' – apaga registos da base de dados | ||
| + | *'''Log In User''' – possibilita o login ao utilizador e verifica qual o tipo de perfil | ||
| + | *'''Log Out User''' - possibilita o logout ao utilizador | ||
| + | *'''Dynamic Text''' - para escrever HTML dados da base de dados | ||
| + | *'''Repeat Region''' – para quando se querem repetir elementos provenientes da base de dados, assim como código. | ||
| + | |||
| + | ====Recordsets/Queries utilizados==== | ||
| + | Para carregar, inserir e manipular dinamicamente os dados existentes na Base de Dados da plataforma, foram criados múltiplos Recordsets e diversas queries que permitem chegar à informação pretendida. Uma vez que foram criados bastantes recordsets, o principal a título exemplificativo é: | ||
| + | |||
| + | '''rs_actualizacoes''' - vai buscar à base de dados, à tabela actualizacoes todas as actualizações feitas e que estejam dentro do período de publicação. São apresentadas com uma ordem da mais actual para a mais antiga em função da data. | ||
| + | |||
| + | ====Parâmetros passados entre páginas==== | ||
| + | Para passar parâmetros entre páginas, utilizamos os seguintes métodos: o método GET, POST, através da Session, e url. | ||
| + | |||
| + | Para visualizar um perfil de um utilizador, por exemplo, utilizamos o método GET para passar o seu id, e assim carregar dinamicamente o perfil. | ||
| + | |||
| + | O método POST foi usado, essencialmente, no preenchimento de formulários, como por exemplo o de registo. | ||
| + | |||
| + | Usámos session para ter variáveis que vão armazenar as informações do utilizador que fez o login. | ||
| + | |||
| + | Por url usámos para passar informação entre páginas. | ||
| + | |||
| + | ===Integração (e.g. Flash, AJAX Frameworks, etc)=== | ||
| + | Para além do PHP, linguagem usada na incorporação do conteúdo dinâmico nas páginas, como por exemplo o carregamento de informação do utilizador da base de dados, manipulação dessa informação, pesquisas etc., foram utilizadas outras tecnologias muito usadas no desenvolvimento para a web 2.0. Ajax foi uma delas e foi aplicada na funcionalidade de adicionar novo animal e na classificação do mesmo por exemplo. | ||
| + | |||
| + | Recorremos também ao html para estruturar as páginas e ao css para a formatação de todo o conteúdo. | ||
| + | |||
| + | ==Desenvolvimentos Futuros== | ||
| + | A magnitude de um projecto como o nosso requer tempo, experiência, conhecimentos e dedicação. Não conseguimos implementar tudo a que nos propusemos e sabemos que o trabalho está longe de estar finalizado. Diversas funcionalidades novas serão implementadas, alguns facelifts e correcções de bugs. Um dos objectivos era um formulário de apoio ao cliente, os termos e condições de serviço, a página de encomenda de anúncios para empresas, entre outros. Um pouco à semelhança de outras redes sociais começamos com pequenos passos e com o tempo serão grandes passos. Acreditamos na nossa causa e por esse mesmo motivo temos um servidor dedicado com o intuito de manter o projecto e levá-lo mais longe não nos limitando ao âmbito da disciplina de LabMM5. | ||
| + | |||
| + | ==Conclusões== | ||
| + | Este trabalho foi (é) bastante enriquecedor por diversos motivos. Porque permitiu-nos aplicar os conhecimentos adquiridos na unidade curricular de Laboratório Multimédia V e até expandi-los assim como compreender a problemática das tecnologias server-side e client-side. Mas também porque acreditamos na temática do nosso projecto e que pode fazer alguma diferença num mundo de indiferença. Estamos conscientes de que poderíamos ter conseguido mais, mas o factor tempo assim como outras tarefas para outras unidades curriculares dificultaram a tarefa. Contudo, serviu para aprofundar conhecimentos e preparar-nos melhor para uma vida profissional ligada a esta área. | ||
| + | |||
| + | ==Referências bibliográficas== | ||
| + | W3Schools - http://www.w3schools.com | ||
| + | |||
| + | Google - https://www.google.com/ | ||
| + | |||
| + | CAIXINHA, Hélder & MANO, Lícinio – Aulas teóricas e práticas de Laboratório Multimédia 5, 2011/2012 | ||
Latest revision as of 01:07, 20 January 2012
Universidade de Aveiro | 2011 / 2012
Departamento de Comunicação e Arte
Laboratório Multimédia V
Relatório Animais e Amigos - Plataforma social para a adopção de animais.
Discentes:
Ana Patrícia Lopes – 51374
Daniel Do Val – 47723
Hamilton Trindade - 47129
Contents |
Introdução
No âmbito da unidade curricular de Laboratório Multimédia V foi-nos proposto a realização de um trabalho de grupo em articulação com a disciplina de Gestão de Empresas e Implementação e Controlo de Projectos Multimédia, que envolvesse a Web 2.0. Apelando a tecnologias server-side e client-side, desenvolveu-se uma plataforma social (rede social) direccionada a pessoas que queiram adoptar ou doar animais.Com este relatório pretendemos demonstrar o desenvolvimento da plataforma, assim como as dificuldades sentidas e soluções aplicadas.
Objectivo do documento
O objectivo deste documento é de relatar o processo de planeamento, concepção e desenvolvimento da plataforma Animais e Amigos, usando os conhecimentos adquiridos na disciplina de LabMM5. Desde a criação da base de dados e sua implementação, a explicação dos server behaviours, recordsets e queries assim como o html, css e javascript.
Visão geral do projecto
O projecto Animais e Amigos pretende a criação e implementação de uma rede social destinada aos amantes dos animais.
O conceito presente é a co-existência entre a parte social e a parte de transacção de animais entre as pessoas. A primeira consiste no armazenamento e disponibilização online de media e status acerca dos animais. A segunda está intrinsecamente ligada à possibilidade de anunciar na rede a intenção de adoptar ou dar um animal.
As empresas ou instituições de solidariedade podem também anunciar no site e criar parcerias, aumentando assim as suas vendas ou apenas divulgando o seu trabalho.
Além de tudo isto, o site conterá uma página para informações e notícias do que acontece no mundo acerca dos animais.
Base de dados desenvolvida
A base de dados é constituída fundamentalmente por duas partes. A parte interactiva e social e a parte “mais comercial” dedicada mais para as empresas. É da primeira parte que vamos falar, embora a segunda esteja presente não é relevante para a cadeira.
A tabela “perfil_utilizador” é a tabela principal de todas, sem essa nada se faz. O nome dos campos já explica para o que cada um serve mas convém salientar o campo “activo0” que é um boolean que vai informar se o utilizador está activo ou não. O campo “pergunta_seguranca_id” vai remeter-nos para perguntas consideradas de segurança para o caso do utilizador perder a palavra-passe. A resposta de segurança é o que vai permitir o sistema saber se realmente aquele é o utilizador esperado. O campo “tipo_perfil_id” vai buscar os perfis existentes (Particular, Empresa e Administrador), ou seja, podemos dizer que é uma especialização da tabela “perfil_utilizador”.
Depois de se referir a tabela principal segue-se para tabelas menos densas e menos importantes mas também complexas.
A tabela “actualizacoes” é aquilo que vai armazenar o que chamamos os feeds tendo como dados a descrição da actualização, a media que foi introduzida (vídeo, fotografia ou informação de estado), o utilizador que introduziu a media e ainda as datas entre as quais o feed irá estar disponível na página_principal.
A tabela “comentario” tem duas ligações a “perfil_utilizador” porque vai armazenar a informação de quem comentou e para quem comentou, o comentário em si e ainda a media a que se referia o comentário.
A tabela “amizades” vai mostrar as várias relações entre os utilizadores. Quem é amigo de quem, a data em que foi efectuado o convite e ainda o estado do convite (0 – convite feito, 1- convite aceite, 2- convite rejeitado).
A tabela “anuncios” refere-se aos anúncios de adopção ou doação que os utilizadores vão introduzir (e que vão aparecer na barra lateral), também contém datas entre as quais será o seu período de publicação, o estado do anúncio, uma descrição longa (corpo do anúncio) e uma curta (título do anúncio), tipo de anúncio (doar ou adoptar), o utilizador que está a colocar o anúncio e ainda o animal a que se refere o anúncio.
Implementação
Para a implementação do projecto foi utilizada a dropbox quando não nos foi possível estarmos juntos. Graças à dropbox todos os elementos do grupo tiveram acesso a todos os ficheiros do projecto.
Descrição das principais funcionalidades da aplicação Web
A plataforma Animais e Amigos requer registo do utlizador para utilizá-la. Caso contrário apenas tem acesso à página de boas-vindas, ou de login. Uma vez que se trata de uma rede social torna-se necessário ter um registo por questões de privacidade e de controlo da informação. Uma vez criado o registo o utilizador tem acesso ao seu perfil, notícias na rede e caso tenha adicionado amigos, tem acesso ao seu perfil assim como suas publicações. Permite adicionar ao perfil os nossos animais, sejam os nossos domésticos ou para doação. Quando publicado o anúncio para doação do animal, qualquer utilizador registado pode clicar em “interessado”. Quem publica o anúncio pode depois escolher entre os interessados que achar que se adequa melhor ao animal para doação. Temos também uma barra de pesquisa sempre presente na plataforma, excepto na página de saudação que permite pesquisar pessoas e animais.
Mapa de páginas
Server Behaviours utilizados
- Insert Record – insere dados na base de dados
- Update Record – actualiza/altera dados da base de dados
- Delete Record – apaga registos da base de dados
- Log In User – possibilita o login ao utilizador e verifica qual o tipo de perfil
- Log Out User - possibilita o logout ao utilizador
- Dynamic Text - para escrever HTML dados da base de dados
- Repeat Region – para quando se querem repetir elementos provenientes da base de dados, assim como código.
Recordsets/Queries utilizados
Para carregar, inserir e manipular dinamicamente os dados existentes na Base de Dados da plataforma, foram criados múltiplos Recordsets e diversas queries que permitem chegar à informação pretendida. Uma vez que foram criados bastantes recordsets, o principal a título exemplificativo é:
rs_actualizacoes - vai buscar à base de dados, à tabela actualizacoes todas as actualizações feitas e que estejam dentro do período de publicação. São apresentadas com uma ordem da mais actual para a mais antiga em função da data.
Parâmetros passados entre páginas
Para passar parâmetros entre páginas, utilizamos os seguintes métodos: o método GET, POST, através da Session, e url.
Para visualizar um perfil de um utilizador, por exemplo, utilizamos o método GET para passar o seu id, e assim carregar dinamicamente o perfil.
O método POST foi usado, essencialmente, no preenchimento de formulários, como por exemplo o de registo.
Usámos session para ter variáveis que vão armazenar as informações do utilizador que fez o login.
Por url usámos para passar informação entre páginas.
Integração (e.g. Flash, AJAX Frameworks, etc)
Para além do PHP, linguagem usada na incorporação do conteúdo dinâmico nas páginas, como por exemplo o carregamento de informação do utilizador da base de dados, manipulação dessa informação, pesquisas etc., foram utilizadas outras tecnologias muito usadas no desenvolvimento para a web 2.0. Ajax foi uma delas e foi aplicada na funcionalidade de adicionar novo animal e na classificação do mesmo por exemplo.
Recorremos também ao html para estruturar as páginas e ao css para a formatação de todo o conteúdo.
Desenvolvimentos Futuros
A magnitude de um projecto como o nosso requer tempo, experiência, conhecimentos e dedicação. Não conseguimos implementar tudo a que nos propusemos e sabemos que o trabalho está longe de estar finalizado. Diversas funcionalidades novas serão implementadas, alguns facelifts e correcções de bugs. Um dos objectivos era um formulário de apoio ao cliente, os termos e condições de serviço, a página de encomenda de anúncios para empresas, entre outros. Um pouco à semelhança de outras redes sociais começamos com pequenos passos e com o tempo serão grandes passos. Acreditamos na nossa causa e por esse mesmo motivo temos um servidor dedicado com o intuito de manter o projecto e levá-lo mais longe não nos limitando ao âmbito da disciplina de LabMM5.
Conclusões
Este trabalho foi (é) bastante enriquecedor por diversos motivos. Porque permitiu-nos aplicar os conhecimentos adquiridos na unidade curricular de Laboratório Multimédia V e até expandi-los assim como compreender a problemática das tecnologias server-side e client-side. Mas também porque acreditamos na temática do nosso projecto e que pode fazer alguma diferença num mundo de indiferença. Estamos conscientes de que poderíamos ter conseguido mais, mas o factor tempo assim como outras tarefas para outras unidades curriculares dificultaram a tarefa. Contudo, serviu para aprofundar conhecimentos e preparar-nos melhor para uma vida profissional ligada a esta área.
Referências bibliográficas
W3Schools - http://www.w3schools.com
Google - https://www.google.com/
CAIXINHA, Hélder & MANO, Lícinio – Aulas teóricas e práticas de Laboratório Multimédia 5, 2011/2012


