MyGowl

From Laboratório MM 5

Revision as of 18:00, 14 January 2011 by SergioCampos (Talk | contribs)
Jump to: navigation, search

Página do projecto MyGowl.com.



Contents

Introdução

Objectivo do documento

O presente documento tem por objectivo relatar o planeamento, concepção e desenvolvimento da plataforma MyGowl, objecto de avaliação da disciplina, clarificando as técnicas metodológicas utilizadas para a solução de problemas e correcção de erros.

Visão geral do projecto

O projecto MyGowl trata-se de uma plataforma online de bookmarking social, seguindo o conceito da web 2.0, desenvolvida no âmbito da disciplina de Laboratório Multimédia 5, curso de Novas Tecnologias da Comunicação, da Universidade de Aveiro. Trata-se de um projecto desenvolvido recorrendo a tecnologias server-side (PHP), e a tecnologias client-side (HTML/XHTML, CSS e JavaScript), sobre a docência de Hélder Caixinha e Licínio Mano. O projecto em questão foi realizado em conjunto com as disciplinas de Implementação e Controlo de Projectos Multimédia, docência por Margarifa Almeida, e Gestão de Empresas, disciplina leccionada por Vera Vale.


Base de dados desenvolvida

Após discutidas as principais funcionalidades presentes na nossa plataforma, procedeu-se ao estudo da forma mais eficiente e simples para implementar a base de dados da mesma. De forma geral, podem existir diferentes alternativas de implementação da base de dados, levando à necessidade de estudar aprofundadamente as possibilidades. Tratando-se a nossa plataforma de uma aplicação web de bookmarking social, na qual cada utilizador tem a possibilidade de gerir as suas bookmarks, por diferentes categorias, ver actualizações dos amigos, comentar as suas categorias, inserir keywords, optamos pelo seguinte modelo físico:


Link para o modelo físico da BD: [1]


Entidades

O modelo acima proposto é composto por um conjunto de 18 entidades (2 das quais de relação), destacando-se 6 principais:

User - entidade relativa ao utilizador e aos dados do seu login na plataforma. É a primeira entidade a ser alvo do utilizador, durante o seu registo. Esta entidade é composta pelos campos de "user_id", único para cada utilizador em especifico; "username", nome do utilizador na aplicação; "password", relativa ao login único do utilizador; "email", no qual o utilizador escolhe o email pessoal para conseguir efectuar a activação da conta, receber tonificações e recuperar password; "registry_date", preenchido através de timestamp (data e hora) no momento de registo e "status", por defeito com o valor 0, sendo este valor alterado para 1 quando o user activa a sua conta pessoal.

Tab - o utilizador poderá criar várias tabs (categorias), nas quais poderá guardar diferentes páginas de acordo com a organização que pretende. Esta entidade é composta pelos campos "tab_id", auto-incrementado consoante as criações efectuadas pelo utilizador; "nome", limitado a 12 caracteres de forma a não quebrar a linguagem gráfica; "mature", do tipo boolean, que identifica as páginas como de conteúdo adulto, através da identificação do ICRA na página; "creation_date_tipe", que regista a data e hora de criação da tab; "user_id", como chave externa que associa as diferentes tabs a um utilizador em concreto.

url - na barra de pesquisa o utilizador pode digitar um url e será redireccionado para o mesmo e esse url é guardado na base de dados para posterior consulta do utilizador através do histórico (ver próximo tópico). Nesta entidade existem o "url_id", que identifica o url na base de dados; "url", "title", "author", "description", "copyright", "language", que são campos do tipo varchar e são preenchidos automaticamente recorrendo a um cronjob; "mature", como já referido de identificação de conteúdos adultos.

historic - em cada uma das tabs existirá um histórico especifico onde serão guardados todos os url's visitados pelo utilizador. Nesta entidade existem os campos "idhistoric"; "timestamp", que identifica as horas correspondentes a cada registo efectuado na tabela historic; como chaves-estrangeiras os campos "tab_id", que relaciona o histórico com determinado id a uma determinada tab; e "url_id", que relaciona o histórico com os url's que pertencem ao mesmo.

search - na barra de pesquisa o utilizador também pode digitar palavras ou frases e esses caracteres são guardados na base de dados para depois estarem disponiveis num index de pesquisas efectuadas. Nesta tabela existem os campos "idsearch" que atribuiu a cada palavra/frase uma identificação única (independentemente se é a mesma palavra pesquisada 2 vezes); "phrase", campo do tipo varchar com um grande número de caracteres de forma a guardar frases mais extensas; "timestamp", que regista a data e hora em que os users fizeram as pesquisas.

historic_search - nesta tabela são guardadas as palavras/frases introduzidas na pesquisa. Os campos presentes nesta entidade são "idhistory_search"; "timestamp", com as mesmas funcionalidades que o campo da tabela historic; como chaves-estrangeiras "tab_id" e "search_id", permitindo a identificação do histórico de palavras/frases, como histórico de determinada tab e de forma a guardar as palavras/frases nesse histórico concreto.

User & Friends & Profile

User & Help

Profile & Hobby

Url & Comment & User

Domain

Websnap

Order & Tab


NOTA: os ids das diferentes tabelas não respeitam as mesmas regras de nomenclatura.

Implementação

Descrição das principais funcionalidades da aplicação Web

A aplicação desenvovida tem como principais funcionalidades

Mapa de páginas

  Server Behaviours utilizados
  Recordsets/Queries utilizados
  Parâmetros passados entre páginas

Integração (e.g. Flash, AJAX Frameworks, etc)


Desenvolvimentos Futuros

Conclusões

Referências bibliográficas

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox