Timeline

From Laboratório MM 5

(Difference between revisions)
Jump to: navigation, search
(Desenvolvimentos Futuros)
Line 124: Line 124:
== Desenvolvimentos Futuros ==
== Desenvolvimentos Futuros ==
 +
 +
Terminada a fase de desenvolvimento do projecto é possível referir alguns dos aspectos não implementados que o grupo gostaria de vir a desenvolver futuramente. Entre eles:
 +
 +
Diferentes contas de utilizadores -
 +
Melhorias na performance do site -
 +
Sistema de avisos (mail e telemóvel) para utilizadores pagantes -
 +
Alterações a nível da interface -
 +
Adaptação da aplicação para Mobile -
 +
Desenvolvimento de um Backoffice -
 +
== Conclusões ==
== Conclusões ==
== Referências bibliográficas ==
== Referências bibliográficas ==

Revision as of 15:14, 14 January 2012

Logotimeline.png



Contents

Introdução

Objectivo do documento

O presente relatório, desenvolvido no âmbito das disciplinas de Laboratório Multimédia 5 e Implementação e Controlo de Projectos Multimédia do curso de Novas Tecnologias da Comunicação, visa relatar todo o processo de planeamento e desenvolvimento da criação de uma aplicação para a Web 2.0.

Ao longo do relatório serão, então, apresentados alguns dos procedimentos tomados, as dificuldades sentidas e as soluções adoptadas, bem como uma breve conclusão sobre possíveis melhorias a desenvolver futuramente.

Visão geral do Projecto

A ideia do projecto Timeline assenta na criação de uma agenda dotada de uma interface minimalista e intuitiva que visa proporcionar ao utilizador uma alternativa de complexidade reduzida aos restantes produtos que são passíveis de se encontrar no mercado actual.

Timeline proporciona, assim, de uma forma bastante dinâmica, a navegação por uma linha temporal onde os utilizadores poderão visualizar todos os eventos onde irão participar, convidar amigos para os seus eventos, aderir aos eventos dos seus amigos, assim como pesquisar por determinado evento ou subscrever determinada instituição.

Base de dados desenvolvida

Após planeada toda a aplicação, realizada a lista de requisitos funcionais e bem delineadas quais as tarefas que a mesma permitiria realizar, procedeu-se, então, à concepção de uma base de dados que correspondesse, da forma mais eficiente e optimizada possível, às necessidades encontradas.

[Modelo Físico da BD]

A base de dados apresentada é composta, essencialmente, por 11 distintas tabelas, sendo que quase todas apresentam uma relação com uma tabela central, referente ao utilizador.


Passaremos, então, ao esclarecimento de algumas opções tomadas em relação às tabelas e atributos apresentados, que poderão não ser facilmente perceptíveis.


Tabela utilizador - apresenta as informações relativas ao utilizador, sendo que, algumas das informações apresentam dois atributos distintos (por exemplo: utilizador_dataNascimento e utilizador_dataNascimentoVisivel). Este aspecto é necessário para que o utilizador possa definir a visibilidade das suas informações.


Tabela subscricao - é a tabela referente aos amigos do utilizador. O elemento 'subcricao_activo' permite verificar se determinado utilizador é amigo de um outro ou se, em oposição, determinada amizade foi, por exemplo, removida. Os valores oscilam, então, entre dois estados - zero (não há relação de amizade) e um (existe relação de amizade).

Já o elemento 'subscricao_estado' é referente à pendência de convites de amizade entre utilizadores. Oscilando também entre estados de zero e um.


Tabela passwordRequest - nesta é possível ver um atributo associado à password com o nome de hash. A hash trata-se de um conjunto de bits, não passíveis de se repetirem, que irão permitir criar uma password encriptada, melhorando assim as questões de segurança da aplicação.


Tabela mensagens - a auto-associação presente nesta deve-se ao facto de, determinada mensagem poder ser resposta a uma outra. Existindo, assim, uma associação entre ambas.


Tabela comentario - à semelhança do sucedido nas já referidas tabelas, apesar dos comentários poderem ser 'aparentemente' removidos, estes nunca serão definitivamente eliminados da base de dados. Simplesmente o seu estado ('comentario_activo') irá passar de 1 para 0 o que se reflecte na invisibilidade de determinado comentário para os utilizadores. O mesmo processo ocorre na tabela de eventos.


Tabela de Tags - na presente tabela é de salientar que, de forma a optimizar a mesma, nunca existirão tags repetidas. Existe, portanto, uma verificação que permite que tags com o mesmo nome nunca tenham id's diferentes e se aglomerem no mesmo.

O sistema de auto-complete implementado tornou-se também um meio facilitador para a inserção das mesmas por parte do utilizador.

Implementação

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

Registo e Login

O Registo e Login na aplicação são necessários para ter acesso à mesma, sendo que utilizadores não logados apenas terão acesso à página inicial, onde lhes serão dadas algumas informações sobre as principais funcionalidades da aplicação, assim como a oportunidade do já referido login e/ou registo.

Na fase de Registo, é de salientar que não serão permitidos registos com contas de email iguais, sendo que este será o identificador único de cada utilizador, ou seja, o correspondente ao usual "username".


Criar, Partilhar, Editar e Eliminar Eventos / Aceitar e Recusar convites de Eventos

A principal funcionalidade da Timeline é, então, permitir aos seus utilizadores a inserção de eventos na sua timeline e o envio de convites de adesão aos seus amigos.

De referir que, na criação de um evento é dada a oportunidade ao usuário de definir a visibilidade do mesmo, sendo que este pode oscilar entre três estados: Público, Privado e Amigos. Eventos públicos são visíveis a qualquer utilizador da aplicação. Eventos privados encontram-se apenas visíveis para os convidados de determinado evento. Eventos amigos são visíveis para todos os amigos do criador do evento, mesmo que não tenham sido convidados para tal.

Na criação do evento é também de referir o sistema de tags implementado, que se tornará um meio facilitador para a pesquisa de determinado evento.

A edição e eliminação de eventos estará, unicamente, ao encargo do seu criador.

Quanto à partilha, o utilizador poderá, então, convidar os seus amigos a participarem em determinado evento, sendo que estes terão que aceitar o convite para o mesmo começar a fazer parte da sua timeline.


Enviar, Aceitar e Recusar Pedidos de Amizade

A possibilidade de cada utlizador dispor dos seus amigos é o que permite que o projecto Timeline se diferencie de todos os outros calendários, tornando-o mas interactivo e, deste modo, apelativo.


Pesquisar por Eventos e Pessoas

Timeline permite ainda efectuar uma pesquisa, de forma rápida e aprofundada. Para tal dispõe de um sistema de filtros que permitem especificar qual a procura. São eles localidade (tanto para a pesquisa de eventos como para pessoas), data e tags (no caso da pesquisa a eventos).


Visualizar e Comentar Eventos

Todos os Eventos poderão, então, ser comentados, sendo que a visibilidade de determinado comentário estará de acordo com a visibilidade do evento.


Editar o Perfil

Cada utilizador terá ainda acesso a uma pequena página de perfil, onde serão apresentadas algumas informações sobre o mesmo. Além de ser dado ao utilizador a possibilidade de modificar algumas das informações é, ainda, dada a possibilidade de definir a visibilidade das mesmas.


Envio e Recepção de Mensagens

Os utilizadores poderão ainda entrar em contacto entre si utilizando um pequeno sistema de mensagens, útil para situações e ou comentários a determinados eventos que requeiram alguma privacidade.

Mapa de páginas

Mapapaginas2.png


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

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

Desenvolvimentos Futuros

Terminada a fase de desenvolvimento do projecto é possível referir alguns dos aspectos não implementados que o grupo gostaria de vir a desenvolver futuramente. Entre eles:

Diferentes contas de utilizadores - Melhorias na performance do site - Sistema de avisos (mail e telemóvel) para utilizadores pagantes - Alterações a nível da interface - Adaptação da aplicação para Mobile - Desenvolvimento de um Backoffice -

Conclusões

Referências bibliográficas

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox