Cyou
From Laboratório MM 5
| Line 47: | Line 47: | ||
As tabelas apresentam-se como sendo a estrutura básica em que a informação é armazenada. As entidades que foram identificadas no momento em que se repensaram as funcionalidades da rede social, foram: | As tabelas apresentam-se como sendo a estrutura básica em que a informação é armazenada. As entidades que foram identificadas no momento em que se repensaram as funcionalidades da rede social, foram: | ||
| - | :1.1'''Profile''' | + | :1.1.'''Profile''' |
| - | A entidade profile é onde se encontra a informação relativa ao utilizador que acede à rede social. Diferentes tipos de informação são armazenados: | + | :A entidade profile é onde se encontra a informação relativa ao utilizador que acede à rede social. Diferentes tipos de informação são armazenados: |
:* Informação pessoal que provém do registo na aplicação (ex.: nome, apelido, data de nascimento, descrição); | :* Informação pessoal que provém do registo na aplicação (ex.: nome, apelido, data de nascimento, descrição); | ||
| Line 57: | Line 57: | ||
:* Informação de edição de perfil (ex: fotografia, status); | :* Informação de edição de perfil (ex: fotografia, status); | ||
| - | No que concerne à parametrização de dados, a maior parte dos campos são do tipo varchar, algumas variáveis booleanas como auto-login, gender e active e int como o id_profile e a privacidade. | + | :No que concerne à parametrização de dados, a maior parte dos campos são do tipo varchar, algumas variáveis booleanas como auto-login, gender e active e int como o id_profile e a privacidade. |
::1.1.1.'''Friends_profile_AA''' | ::1.1.1.'''Friends_profile_AA''' | ||
| - | Em Web 2.0, encontra-se muito presente o conceito de colaboração. Para tal, é preciso que o perfil do utilizador esteja ligado a outros perfis e é a entidade friends_profile_AA que armazena as informações dessa relação. Os ids de cada perfil são do tipo INT e o estado_amizade, do tipo varchar. | + | ::Em Web 2.0, encontra-se muito presente o conceito de colaboração. Para tal, é preciso que o perfil do utilizador esteja ligado a outros perfis e é a entidade friends_profile_AA que armazena as informações dessa relação. Os ids de cada perfil são do tipo INT e o estado_amizade, do tipo varchar. |
:1.2.'''Location''' | :1.2.'''Location''' | ||
| - | A entidade location armazena informação relativa à latitude, longitude e a morada definida aquando o registo. Os dados são do tipo float e a morada é do tipo varchar. | + | :A entidade location armazena informação relativa à latitude, longitude e a morada definida aquando o registo. Os dados são do tipo float e a morada é do tipo varchar. |
| + | |||
| + | :1.3.'''Msg''' | ||
| + | |||
| + | :A tabela com a designação msg armazena a informação relativa a mensagens de mural próprias de cada perfil como a localização, o texto, a pessoa, imagem e o id do profile a que se destina. Os ids são do tipo int e o texto da mensagem são do tipo TEXT, a fim de não haver uma grande limitação de caracteres na mensagem. | ||
| + | |||
| + | ::'''1.3.1 Msg_like''' | ||
| + | |||
| + | ::De forma a proporcionar a concordância e discordância entre utilizadores, implementou-se o mecanismo de (dis) likes nas mensagens. Assim, é armazenado o id da mensagem, o id do perfil (do tipo int) e a variável booleana like. | ||
| + | |||
| + | :1.4.'''Photo''' | ||
| + | |||
| + | :A tabela photo armazena o id da foto, o id da localização e os atributos próprios para armazenar a fotografia (filename e texto). Como tal, os ids são do tipo int, o filename do tipo varchar (que irá buscar o caminho da imagem) e a descrição/texto do tipo text. | ||
| + | |||
| + | |||
| + | ::'''1.4.1 Photo_like''' | ||
| + | |||
| + | :O mesmo mecanismo que se segue para msg_like, passa-se com photo_like. Assim passa a ser armazenado o identificador da fotografia, o id do perfil (do tipo int) e o estado booleano like. | ||
| + | |||
| + | |||
| + | :'''1.5. Plan''' | ||
| + | |||
| + | :Uma nova tabela surge com a integração do tipo de plano escolhido pelo utilizador. Esta irá armazenar o tipo de plano (free e premium) e, também, a data inicial e final em que o utilizador passou a ser premium. Por essa razão em que só se armazena apenas a data inicial e final do que o utilizador é premium, o plano deixa de ser atributo do perfil e faz parte de uma nova tabela. No que diz respeito à parametrização de dados, o id e o tipo de plano são inteiros e a data inicial e final são do tipo date. | ||
| + | |||
| + | |||
| + | :'''1.6. faq''' | ||
| + | |||
| + | Uma das formas de prestar auxílio ao utilizador na rede social cyou é através de FAQ. Assim é armazenada a pegunta do tipo text, o estado booleano de activo ou não, nome da pessoa e email (varchar). | ||
| + | |||
| + | |||
| + | ::'''1.6.1. Id_categoria''' | ||
| + | |||
| + | ::Dado que se pode inserir novas categorias a rotular novas questões no faq, serve a tabela do id da categoria do tipo inteiro e a descrição do tipo varchar. | ||
| + | |||
| + | ::'''1.6.2. resposta_faq''' | ||
| + | |||
| + | ::É o administrador que responde às questões de FAQ, sendo necessária uma entidade que armazene o id da resposta, a resposta e o id do perfil. Os ids são do tipo inteiro e a resposta do tipo text. | ||
| + | |||
Revision as of 22:54, 15 January 2011
Contents |
Introdução
The Web is more a social creation than a technical one. I designed it for a social effect—to help people work together—and not as a technical toy. —Tim Berners-Lee, Weaving the Web (1999)
A proliferação mundial da tecnologia, da Internet e o boom tecnológico fez com que se procedesse à evolução da criação de páginas para a Web. A explosão da Web 2.0 levou a ter presente os seguintes conceitos: páginas dinâmicas, partilha de conhecimento, formas de interacção, criação e edição de conteúdos, grupos, comunicação (as)síncrona e identidade.
Objectivo do documento
Face a esta realidade, serve o presente documento como suporte ao projecto, que surge no âmbito das unidades curriculares Laboratório Multimédia V, Implementação e Controlo de Projectos e Gestão de Empresas e, que tem por objectivo conceber e desenvolver um website que se insira no contexto Web 2.0. No que diz respeito à sua implementação tem como coordenadores, os docentes Hélder Caixinha e Lícinio Mano.
Definiram-se como objectivos gerais do projecto:
- Apresentação do processo de concepção e desenvolvimento do website;
- Implementação técnica de todas as componentes leccionadas na u.c. Laboratório Multimédia;
- Criação de um website server-side, dinâmico e funcional;
Definiram-se como objectivos específicos:
- Conseguir autonomia no desenvolvimento de layouts para páginas Web;
- Integração da arquitectura das 3 camadas no Website (multitier architecture): armazenamento de dados, lógica e apresentação;
- Criação e conexão à Base de Dados associada à própria aplicação;
- Criação de conteúdos, sofisticação do layout através de ferramentas de CSS, JS e utilização de frameworks;
Visão geral do projecto
Cyou é o nome da rede social que pretende aproximar as pessoas e reconhecê-las em tempo real. Através da API da Google, o utilizador consegue partilhar a sua localização em tempo real, interagindo com os diferentes membros através de mensagens no mural e visualização das suas diferentes localizações.
De forma sucinta, esta apresenta as seguintes funcionalidades:
- Publicação de mensagens no Mural (comunicação assíncrona);
- Edição de dados/perfil;
- Inserção de comentários ao perfil e fotos;
- Serviço de localização do utilizador;
- Acesso ao mapa de localização dos amigos, conhecidos e desconhecidos;
- Procura de localizações;
- Acesso ao sistema de ajuda do tipo FAQ e inserção de novas questões, reguladas por um administrador interno;
>>> FALTA TEXTO
Base de dados desenvolvida
“Web users ultimately want to get at data quickly and easily. They don't care as much about attractive sites and pretty design.” —Tim Berners-Lee, 1955
A Base de Dados Cyou armazena os dados de treze tabelas, apresentando como Sistema de Gestão de Base de Dados Relacional, o MySQL.Assim, prosseguiu-se à determinação de:
- Tabelas
As tabelas apresentam-se como sendo a estrutura básica em que a informação é armazenada. As entidades que foram identificadas no momento em que se repensaram as funcionalidades da rede social, foram:
- 1.1.Profile
- A entidade profile é onde se encontra a informação relativa ao utilizador que acede à rede social. Diferentes tipos de informação são armazenados:
- Informação pessoal que provém do registo na aplicação (ex.: nome, apelido, data de nascimento, descrição);
- Informação de registo e login (ex.: email e password);
- Informação de edição de perfil (ex: fotografia, status);
- No que concerne à parametrização de dados, a maior parte dos campos são do tipo varchar, algumas variáveis booleanas como auto-login, gender e active e int como o id_profile e a privacidade.
- 1.1.1.Friends_profile_AA
- Em Web 2.0, encontra-se muito presente o conceito de colaboração. Para tal, é preciso que o perfil do utilizador esteja ligado a outros perfis e é a entidade friends_profile_AA que armazena as informações dessa relação. Os ids de cada perfil são do tipo INT e o estado_amizade, do tipo varchar.
- 1.2.Location
- A entidade location armazena informação relativa à latitude, longitude e a morada definida aquando o registo. Os dados são do tipo float e a morada é do tipo varchar.
- 1.3.Msg
- A tabela com a designação msg armazena a informação relativa a mensagens de mural próprias de cada perfil como a localização, o texto, a pessoa, imagem e o id do profile a que se destina. Os ids são do tipo int e o texto da mensagem são do tipo TEXT, a fim de não haver uma grande limitação de caracteres na mensagem.
- 1.3.1 Msg_like
- De forma a proporcionar a concordância e discordância entre utilizadores, implementou-se o mecanismo de (dis) likes nas mensagens. Assim, é armazenado o id da mensagem, o id do perfil (do tipo int) e a variável booleana like.
- 1.4.Photo
- A tabela photo armazena o id da foto, o id da localização e os atributos próprios para armazenar a fotografia (filename e texto). Como tal, os ids são do tipo int, o filename do tipo varchar (que irá buscar o caminho da imagem) e a descrição/texto do tipo text.
- 1.4.1 Photo_like
- O mesmo mecanismo que se segue para msg_like, passa-se com photo_like. Assim passa a ser armazenado o identificador da fotografia, o id do perfil (do tipo int) e o estado booleano like.
- 1.5. Plan
- Uma nova tabela surge com a integração do tipo de plano escolhido pelo utilizador. Esta irá armazenar o tipo de plano (free e premium) e, também, a data inicial e final em que o utilizador passou a ser premium. Por essa razão em que só se armazena apenas a data inicial e final do que o utilizador é premium, o plano deixa de ser atributo do perfil e faz parte de uma nova tabela. No que diz respeito à parametrização de dados, o id e o tipo de plano são inteiros e a data inicial e final são do tipo date.
- 1.6. faq
Uma das formas de prestar auxílio ao utilizador na rede social cyou é através de FAQ. Assim é armazenada a pegunta do tipo text, o estado booleano de activo ou não, nome da pessoa e email (varchar).
- 1.6.1. Id_categoria
- Dado que se pode inserir novas categorias a rotular novas questões no faq, serve a tabela do id da categoria do tipo inteiro e a descrição do tipo varchar.
- 1.6.2. resposta_faq
- É o administrador que responde às questões de FAQ, sendo necessária uma entidade que armazene o id da resposta, a resposta e o id do perfil. Os ids são do tipo inteiro e a resposta do tipo text.
Implementação
<source lang="php">
<?php
class Person {
function __construct() {
print "O construtor é chamado automaticamante quando o objeto é instanciado!";
} /* Constutor */
function __destruct() {
print "Destruímos o objecto...";
} /* Isto de colocar aqui código atrofia 1 pouco */
}
?>
</source>
echo <?php if( $a == 1 || $a == 2 ) {
if( $b == 3 || $b == 4 ) {
if( $c == 5 || $ d == 6 ) {
//Do something here.
}
}}?> You could just simply do this:
<?php
if( ($a==1 || $a==2) && ($b==3 || $b==4) && ($c==5 || $c==6) ) {
//do that something here.
}
?>
Descrição das principais funcionalidades da aplicação Web
Mapa de páginas
Integração (e.g. Flash, AJAX Frameworks, etc)
Desenvolvimentos Futuros
Sobre base de dados
Conclusões
Bibliografia
Web
Índice Remissivo
| ÍNDICE REMISSIVO | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
|
