ShushiBeats

From Laboratório MM 5

(Difference between revisions)
Jump to: navigation, search
(Relatório SushiBeats)
(Relatório)
 
(10 intermediate revisions not shown)
Line 1: Line 1:
-
== Relatório SushiBeats ==
+
== Relatório ==
 +
'''Projecto SushiBeats '''
 +
'''Universidade de Aveiro'''
 +
Disciplina Laboratório Multimédia 5
 +
Docentes Prof. Hélder Caixinha Prof. Licínio Mano
 +
 
 +
'''Grupo: Ana Lapa nº39986 | Daniel Vieira nº42572 | José Azevedo nº38288'''
-
Grupo: Ana Lapa nº39986 | Daniel Vieira nºxxxx | José Azevedo nºxxxx
 
----
----
-
'''
 
-
1. Introdução *
 
-
1.1.    Objectivo do documento *
+
'''Relatório'''
-
1.2. Visão geral do projecto *
+
1. Introdução
-
2. Base de dados desenvolvida
+
1.1. Objectivo do documento
-
3. Implementação
+
1.2. Visão geral do projecto
-
3.1. Descrição das principais funcionalidades da aplicação Web
+
2. Base de dados desenvolvida
-
3.2. Mapa de páginas
+
3. Implementação
-
3.2.1. Server Behaviors, Recordsets e Queries
+
3.1. Descrição das principais funcionalidades da aplicação Web
-
3.2.2 Parâmetros passados entre páginas  
+
3.2. Mapa de páginas
-
4. Integração 
+
3.2.1. Server Behaviors, Recordsets e Queries
-
5. Desenvolvimentos Futuros
+
3.2.2 Parâmetros passados entre páginas
-
6. Conclusões
+
4. Integração
-
7. Referências bibliográficas'''
+
5. Desenvolvimentos Futuros
-
----
+
6. Conclusões
-
''' 1. Introdução'''
+
7. Referências bibliográficas
-
No presente documento será exposto todo o processo de realização do projecto Sushi Beats, desde o momento da escolha do tema, passando pelo processo de implementação, e finalizando com conclusões do grupo relativamente ao que está e ao que poderá ser realizado.
+
----
-
Numa visão geral o SushiBeats será um serviço Web 2.0 dedicado ao Drum and Bass e ao público que tiver interesse em informar-se sobre eventos que estejam a acontecer de artistas/ DJ's relacionados com o género de música mencionado.
+
'''1. Introdução'''
-
Para tal os utilizadores da plataforma poderão visitar o site, ter uma pequena amostra deste e, caso estejam interessados, registar-se para acederem a todo o site.
+
 +
No presente documento será exposto todo o processo de realização do projecto Sushi Beats, desde o momento da escolha do tema, passando pelo processo de implementação, e finalizando com conclusões do grupo relativamente ao que está e ao que poderá ser realizado.
 +
Numa visão geral o SushiBeats será um serviço Web 2.0 dedicado ao Drum and Bass e ao público que tiver interesse em informar-se sobre eventos que estejam a acontecer de artistas/ DJ's relacionados com o género de música mencionado. Para tal os utilizadores da plataforma poderão visitar o site, ter uma pequena amostra deste e, caso estejam interessados, registar-se para acederem a todo o site.  
-
Endereço: xxxxx
+
----
-
Dados de acesso: xxxxx
+
 +
Endereço: linlab.ca.ua.pt
 +
Username: ushibeats
 +
Password: 200300
----
----
-
'''1.1. Objectivos do documento'''
+
'''1.1. Objectivos do documento'''  
-
O presente documento visa apresentar o relatório do projecto Sushibeats, realizado no âmbito da disciplina de Laboratório Multimédia IV.  
+
O presente documento visa apresentar o relatório do projecto Sushibeats, realizado no âmbito da disciplina de Laboratório Multimédia IV. No final, espera ter-se apresentado: (i)objectivos do presente documento; (ii)a visão geral do projecto; (iii)a base de dados desenvolvida; (iv) o processo de implementação; (v) os desenvolvimentos futuros; e (vi) as devidas conclusões. Este documento tem como função auxiliar o entendimento do projecto SushiBeats através de uma explicação teórica da criação do projecto, explicação, essa, conjugada com excertos de código, demonstrando como se define o mapa de páginas e a lógica do processo de criação do projecto. Com a explicação teórica, pretende-se, então, desmistificar quaisquer dúvidas que o projecto em si, possa criar.  
-
No final, espera ter-se apresentado: (i)objectivos do presente documento; (ii)a visão geral do projecto; (iii)a base de dados desenvolvida; (iv) o processo de implementação; (v) os desenvolvimentos futuros; e (vi) as devidas conclusões.
+
-
Este documento tem como função auxiliar o entendimento do projecto SushiBeats através de uma explicação teórica da criação do projecto, explicação, essa, conjugada com excertos de código, demonstrando como se define o mapa de páginas e a lógica do processo de criação do projecto.
+
-
Com a explicação teórica, pretende-se, então, desmistificar quaisquer dúvidas que o projecto em si, possa criar.
+
----
----
-
'''1.2. Visão geral do projecto'''
+
'''1.2. Visão geral do projecto'''
-
 
+
-
Contextualizando, o projecto Sushi Beats nasceu de uma paixão que o grupo partilha: a música, mais concretamente o género Drum and Bass.  
+
Contextualizando, o projecto Sushi Beats nasceu de uma paixão que o grupo partilha: a música, mais concretamente o género Drum and Bass. Desde o início do projecto o objectivo final centrou-se na criação de um serviço Web 2.0 que se direccionasse exclusivamente para o público que partilhasse do gosto pelo género de música mencionado. Sendo assim propôs-se criar um local virtual, com algumas directrizes de redes sociais existentes como o FaceBook e My Space, para criar um espaço de partilha de música e de tudo o que possa estar relacionado, desde eventos a fotografias e vídeos dos mesmos (os quais podem ser realizados pelos utilizadores através do upload de ficheiros disponibilizado)e novos sons que os artistas registados no site possam ter partilhado para a comunidade.
-
Desde o início do projecto o objectivo final centrou-se na criação de um serviço Web 2.0 que se direccionasse exclusivamente para o público que partilhasse do gosto pelo género de música mencionado. Sendo assim propôs-se criar um local virtual, com algumas directrizes de redes sociais existentes como o FaceBook e My Space, para criar um espaço de partilha de música e de tudo o que possa estar relacionado, desde eventos a fotografias e vídeos dos mesmos (os quais podem ser realizados pelos utilizadores através do upload de ficheiros disponibilizado)e novos sons que os artistas registados no site possam ter partilhado para a comunidade.
+
Para tal ser possível recorreu-se à matéria leccionada nas aulas da disciplina de Laboratório Multimédia V e, também, a conhecimento adquirido através de pesquisa por parte dos elementos do grupo e a matéria leccionada em outras disciplinas do curso Novas Tecnologias de Comunicação.  
-
Para tal ser possível recorreu-se à matéria leccionada nas aulas da disciplina de Laboratório Multimédia V e, também, a conhecimento adquirido através de pesquisa por parte dos elementos do grupo e a matéria leccionada em outras disciplinas do curso Novas Tecnologias de Comunicação.
 
----
----
'''2. Base de dados'''
'''2. Base de dados'''
 +
 +
Para as funcionalidades da aplicação serem aplicadas com sucesso foi necessário criar uma base de dados para guardar os dados inseridos na aplicação, através dos formulários disponibilizados nesta, criando uma "ponte de comunicação" entre a aplicação e a base de dados.
-
A base de dados do projecto SushiBeats tem como entidades essenciais:
+
Para tal foram criadas as seguintes entidades:  
-
Música
+
Categorias
 +
• User_type
 +
• Users
 +
• Comentários
 +
• Músicas
 +
• Eventos
 +
• Artistas
 +
• Wall_posts
 +
• follow
-
• Utilizadores
 
-
• Tipo_utilizadores
 
-
• Eventos
+
----
-
• Comentarios
+
'''3. Implementação'''
-
• Wall_Posts
+
No presente tópico são descritas as principais funcionalidades da aplicação desenvolvida. Para tal, abaixo estão listadas as páginas que foram desenvolvidas de forma a explicar, correspondentemente, o código que foi necessário desenvolver para cada uma delas.
-
• Photos
+
Páginas implementadas:
-
• Videos
+
-Recorrendo ao CSS estilos.css
 +
estilos.css
 +
 
 +
- Recorrendo ao PHP
 +
 
 +
index.php
 +
addpost.php
 +
addsong.php
 +
editar.php
 +
inserteventos.php
 +
login.php
 +
profile.php
 +
register.php
 +
top.php
-
• Wall Posts
+
- Recorrendo ao JavaScript
 +
jquery.easing.1.1.js
 +
jquery.lavalamp.js
 +
jquery.lavalamp.min.js
 +
jquery-latest.pack.js
-
A base de dados MySQL foi criada a partir da lógica de um site de uma rede social Web 2.0.
 
----
----
-
'''3. Implementação'''
+
'''3.1. Descrição das principais funcionalidades da aplicação Web'''  
-
No presente tópico são descritas as principais funcionalidades da aplicação desenvolvida.
+
Na aplicação Sushibeats, é possível realizar o registo, proceder ao log in, tendo realizado os passos anteriores e explorando a aplicação é possível criar/editar o perfil de utilizador, que engloba user, artista e administrador.
-
Para tal, abaixo estão listadas as páginas que foram desenvolvidas de forma a explicar, correspondentemente, o código que foi necessário desenvolver para cada uma delas.  
+
O administrador pode navegar por toda a aplicação e proceder às modificações que entender. É importante referir que mesmo ao realizar o registo de administrador é necessário introduzir uma password, apenas uma vez, estando portanto protegido.
 +
Como utilizador comum (user) é possível criar posts com opção de incluir imagem, comentar eventos, ver os eventos criados, ouvir as músicas disponíveis e seguir os artistas de interesse (também registados na aplicação).
 +
Como utilizador com a categoria de artista, pode realizar também a inserção de posts, eventos (ambos com opção de  upload de um flyer) e realizar upload de músicas que queira dar a conhecer à comunidade.
-
Páginas implementadas:
+
Também é disponibilizado um campo de pesquisa, no qual o utlizador insere a palavra que quer pesquisar. A opção de pesquisa irá procurar a palavra pesquisada nos eventos, utilizadores e músicas.
-
-Recorrendo ao CSS
+
----
-
estilos.css
+
-
- Recorrendo ao PHP
+
'''3.2. Mapa de páginas'''
-
index.php
+
-
addpost.php
+
-
editar.php
+
-
inserteventos.php
+
-
login.php
+
-
profile.php
+
-
register.php
+
-
top.php
+
-
- Recorrendo ao JavaScript
 
-
jquery.easing.1.1.js
 
-
jquery.lavalamp.js
 
-
jquery.lavalamp.min.js
 
-
jquery-latest.pack.js
 
 +
'''Home''' (tem que realizer log/registo para explorer a aplicação)
-
----
+
'''Registo – Log In''' (realizando registo direcciona para página de log in que por sua vez será redireccionado para a Home –index.php)
-
'''3.1. Descrição das principais funcionalidades da aplicação Web'''
+
'''Home – Profile – Events – About – Sig Out - Pesquisa''' (menu, pesquisa e opção de Sign off presente em todas as páginas - top.php)
-
----
+
'''Home''' – opção de visitar perfis de utilizadores registados podendo realizar o Follow e ouvir músicas;
-
'''3.2. Mapa de páginas'''  
+
'''Profile''' – dependendo da categoria do user este pode:
-
----
+
Sendo User:
 +
Editar Perfil | Adicionar um Post – que poderá apagar a qualquer altura
-
'''3.2.1 Server Behaviors, Recordsets e Queries'''
+
Sendo Artista:
 +
Editar Perfil | Adicionar um Post | Adicionar Evento | Adicionar Música
-
Index.php:
+
'''Events'''
 +
Ver os eventos existentes, saber mais acerca desses eventos e comentar (a funcionalidade está presente para todos os utilizadores).
 +
 
 +
'''About'''
 +
Nesta página está presente o mapa de páginas da aplicação para poder guiar os utilizadores caso existam dúvidas.
 +
Além da ajuda prestada existe também uma descrição e contactos da equipa que desenvolveu a aplicação.
 +
 
 +
'''Sig Out'''
 +
Procedendo ao Sign Out o utilizador é redireccionado para a página de Log In.
----
----
-
'''3.2.2 Parâmetros passados entre páginas'''  
+
'''
 +
3.2.1 Server Behaviors, Recordets e Queries'''  
 +
 
 +
Neste tópico serão representados apenas alguns dos behaviors, recordsets e queries utilizadas. Não se coloca na totalidade o que foi utilizado de modo a não tornar o documento, entenda-se relatório, de certo modo confuso, uma vez que a programação poderá ser conferida pelos docentes nas páginas que disponibilizamos na entrega do projecto.
 +
 
 +
Index.php: recordset relativo aos eventos, para que apareça uma lista destes;
 +
 
 +
Register.php: esta página recorre a dois recordsets, um para a tabela users e outro para a user_type.
 +
Utilizou-se um Insert Record para o utilizador poder registar-se na base de dados; check New Username para garantir que os Usernames dos utilizadores são únicos na database; Validate Form no formulário  de registro de utilizadores para garantir que o utilizador preenche todos os campos.
 +
 
 +
Login.php: esta página recorre a um recordset da tabela Users, seguido de um Log In User para que o utilizador possa entrar na sua conta.
 +
 
 +
Pesquisa.php: esta página recorre a 4 recordsets com filtros para os valores passados pelo form pesquisa através de queries. Por exemplo, no recordset pesquisa_musica, a query é a seguinte
-
Através destes parâmetros é possível filtrar o que pretendemos que a página mostre. Poderá ser filtrado o user_id do utilizador para serem apresentados os seus dados na página de perfil, por exemplo, ou ainda o parâmetro “page” que permite mostrar as respectivas páginas no index.php através do comando “include”. Temos ainda o parâmetro “action” para filtrar as acções que o utilizador realizou, o login, logout e registo no site. Estes parâmetros são passados por URL e recebidos na página php pelo comando $_GET.
+
"SELECT * FROM musicas WHERE titulo OR artista LIKE %s",
-
Action: ‘profile’; ‘login’;’logout’;’register’
+
onde Like permite-nos comparar o valor da pesquisa realizada e compará-la com os dados inseridos na base de dados, fazendo com que todos os resultados sejam musicas ou artistas que contenham o termo de pesquisa realizado. Tem um conjunto de Move to Previous, Next, Last e First Page, de modo a que o utilizador possa navegar pelas páginas de resultados, assim como um conjunto de Show if Not First ou Last Page para os butões acima referidos.  
-
Result: ‘true’;’false’
+
-
Id: ‘user_id’
+
-
Page:’myphotos’;’events’;’newsdetail’;’about’;’addevent’ 
+
----
----
-
'''4. Integração'''
+
'''3.2.2 Parâmetros passados entre páginas'''  
 +
Através destes parâmetros é possível filtrar o que pretendemos que a página mostre. Poderá ser filtrado o user_id do utilizador para serem apresentados os seus dados na página de perfil, por exemplo, ou ainda o parâmetro “page” que permite mostrar as respectivas páginas no index.php através do comando “include”. Temos ainda o parâmetro “action” para filtrar as acções que o utilizador realizou, o login, logout e registo no site. Estes parâmetros são passados por URL e recebidos na página php pelo comando $_GET (nos casos do feedback dado ao utilizador no momento do login, update, logout, register, etc.), ou então com o comando $_POST se o parâmetro for passado por um campo de um formulário (nos casos da pesquisa, nos formulários do register, do login e do register, etc.). Action: ‘profile’; ‘login’;’logout’;’register’ Result: ‘true’;’false’ Id: ‘user_id’ Page:’myphotos’;’events’;’newsdetail’;’about’;’addevent’
----
----
-
'''5. Desenvolvimentos Futuros
+
'''4. Integração'''  
-
'''
+
-
Devido a certas complicações com a implementação de certas funcionalidades de CSS e HTML, o grupo acabou por perder tempo precioso para a implementação da parte que re-almente dizia respeito à disciplina de LAB5. Assim, muitas das funcionalidades que tínhamos planeado incluir neste projecto não foram implementadas e algumas das que conseguimos não funcionam a cem por cento.
+
-
Algumas das funcionalidades que gostaríamos de ver implementadas em desenvolvimentos futuros:
+
Além das linguagens de programação obrigatórias, tais como PHP HTML e CSS, recorreu-se ao JavaScript para implementar o calendário, presente nos campos de inserção de datas, assim como para aplicar o efeito de fade in das mensagens de feedback, por exemplo.
-
Suporte para upload e partilha de galerias de fotos (o site já tem o upload de fotos mas apenas para uma e apenas para ser usada como “avatar” virtual do utillizador);
+
-
Suporte para upload e partilha de músicas e vídeos;
+
----
-
Um “wall post”, ou seja, uma página em que os utilizadores podessem fazer o post de co-mentários, sites, imagens, músicas, vídeos e eventos relacionados com o drum and bass.
+
 
-
Conclusão
+
'''5. Desenvolvimentos Futuros'''
-
O aparecimento do conceito de Web 2.0 tem vindo a modificar gradualmente os standards dos serviços que se baseiam fundamentalmente na interacção com o utilizador. É graças a este contributo que o sucesso desta nova geração de plataformas web tem sido tão explosivo.
+
-
Quando partímos para a fase de implementação da ideia que escolhemos para o projecto, considerámos como objectivo final a criação de um portal social para um público muito específico, que funcionasse correctamente e de modo fluído. Cedo nos apercebemos que seria um trabalho demasiado complexo para a meta temporal estabelecida.
+
-
Contudo, procurámos implementar o maior número de funcionalidades totalmente funcionais que considerámos ser mais importantes para o objectivo do site. Tentámos também fazer com que a navegação fosse fácil e intuitiva para todos os novos utilizadores, de acordo com as regras de usabilidade.  
+
   
   
 +
Para desenvolvimentos futuros pretende-se implementar a opção de editar os posts, no presente esta opção não está aplicada tendo o utilizador de apagar os posts com os quais não esteja satisfeito.
 +
Como administrador pretende-se aplicar a opção de eliminar registos de utilizadores. Tal não foi aplicado, uma vez que realizando a eliminação de registos criaria espaços em branco (null) na base de dados e, como não se poderia averiguar com exactidão os malefícios que tal acção poderia ter, optou-se por deixar em stand-by, para mais tarde poder realizar tal acção caso se comprove que esta não prejudica de modo algum a base de dados e a ligação desta com a aplicação.
 +
Irá ser aplicada também uma ajuda em termos de mostrar a localização dos eventos com apoio ao Google Maps.
 +
----
----
-
'''6. Conclusões'''
+
 
 +
'''6. Conclusões'''
 +
 
 +
Na aplicação SushiBeats estão aplicados todos os conhecimentos apreendidos no decorrer do semestre, no que respeita à disciplina de laboratório multimédia IV, e não só. Algo que também foi ensinado durante as aulas, foi que é necessária perseverança e autonomia para procurar soluções para problemas que possam surgir, pelo que durante a realização deste projecto foi necessário recorrer a bastante pesquisa, seleccionar, perceber e aplicar toda a informação.
 +
Embora se considere que o projecto tem um número de funcionalidades muito respeitável e funcional, é de lamentar não conter uma ou outra funcionalidade que se considerem importantes, tendo-se registado no tópico de desenvolvimentos futuros.
 +
Mesmo com algumas das funcionalidades não implementadas considera-se um projecto de qualidade e uma base para decerto ser implementado on-line, no futuro, já com as devidas alterações efectuadas.
----
----
-
'''7. Bibliografia'''
 
-
Programação com PHP 5.3 – Carlos Serrão e Joaquim Marques, editora FCA- Editora de Informática
+
'''7. Bibliografia'''
-
Locais na Web
+
Programação com PHP 5.3 – Carlos Serrão e Joaquim Marques, editora FCA- Editora de Informática
-
http://php.net/
+
Locais na Web  
-
http://www.fca.pt/
+
http://php.net/  
-
http://www.queness.com/post/77/simple-jquery-modal-window-tutorial/ (janela modal utilizada no login e registo)
+
http://www.fca.pt/  
-
http://woork.blogspot.com/2009/05/how-to-implement-post-to-wall-facebook.html/ (wall_post da página de perfil)
+
http://www.queness.com/post/77/simple-jquery-modal-window-tutorial/
-
http://www.gmarwaha.com/blog/2007/08/23/lavalamp-for-jquery-lovers/ (menu do site incluído em top.php e topin.php)
+
http://woork.blogspot.com/2009/05/how-to-implement-post-to-wall-facebook.html/  
-
http://dev.mysql.com/ (recurso utilizado para consulta de querys)
+
http://www.gmarwaha.com/blog/2007/08/23/lavalamp-for-jquery-lovers/  
 +
http://dev.mysql.com/
 +
http://jqueryui.com/demos/datepicker/
 +
<nowiki><nowiki>Inserir texto não-formatado aqui</nowiki></nowiki>

Latest revision as of 06:11, 18 January 2011

Relatório

Projecto SushiBeats Universidade de Aveiro Disciplina Laboratório Multimédia 5 Docentes Prof. Hélder Caixinha Prof. Licínio Mano

Grupo: Ana Lapa nº39986 | Daniel Vieira nº42572 | José Azevedo nº38288


Relatório

1. Introdução

1.1. Objectivo do documento

1.2. Visão geral do projecto

2. Base de dados desenvolvida

3. Implementação

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

3.2. Mapa de páginas

3.2.1. Server Behaviors, Recordsets e Queries

3.2.2 Parâmetros passados entre páginas

4. Integração

5. Desenvolvimentos Futuros

6. Conclusões

7. Referências bibliográficas


1. Introdução

No presente documento será exposto todo o processo de realização do projecto Sushi Beats, desde o momento da escolha do tema, passando pelo processo de implementação, e finalizando com conclusões do grupo relativamente ao que está e ao que poderá ser realizado. Numa visão geral o SushiBeats será um serviço Web 2.0 dedicado ao Drum and Bass e ao público que tiver interesse em informar-se sobre eventos que estejam a acontecer de artistas/ DJ's relacionados com o género de música mencionado. Para tal os utilizadores da plataforma poderão visitar o site, ter uma pequena amostra deste e, caso estejam interessados, registar-se para acederem a todo o site.


Endereço: linlab.ca.ua.pt Username: ushibeats Password: 200300


1.1. Objectivos do documento

O presente documento visa apresentar o relatório do projecto Sushibeats, realizado no âmbito da disciplina de Laboratório Multimédia IV. No final, espera ter-se apresentado: (i)objectivos do presente documento; (ii)a visão geral do projecto; (iii)a base de dados desenvolvida; (iv) o processo de implementação; (v) os desenvolvimentos futuros; e (vi) as devidas conclusões. Este documento tem como função auxiliar o entendimento do projecto SushiBeats através de uma explicação teórica da criação do projecto, explicação, essa, conjugada com excertos de código, demonstrando como se define o mapa de páginas e a lógica do processo de criação do projecto. Com a explicação teórica, pretende-se, então, desmistificar quaisquer dúvidas que o projecto em si, possa criar.



1.2. Visão geral do projecto

Contextualizando, o projecto Sushi Beats nasceu de uma paixão que o grupo partilha: a música, mais concretamente o género Drum and Bass. Desde o início do projecto o objectivo final centrou-se na criação de um serviço Web 2.0 que se direccionasse exclusivamente para o público que partilhasse do gosto pelo género de música mencionado. Sendo assim propôs-se criar um local virtual, com algumas directrizes de redes sociais existentes como o FaceBook e My Space, para criar um espaço de partilha de música e de tudo o que possa estar relacionado, desde eventos a fotografias e vídeos dos mesmos (os quais podem ser realizados pelos utilizadores através do upload de ficheiros disponibilizado)e novos sons que os artistas registados no site possam ter partilhado para a comunidade. Para tal ser possível recorreu-se à matéria leccionada nas aulas da disciplina de Laboratório Multimédia V e, também, a conhecimento adquirido através de pesquisa por parte dos elementos do grupo e a matéria leccionada em outras disciplinas do curso Novas Tecnologias de Comunicação.



2. Base de dados

Para as funcionalidades da aplicação serem aplicadas com sucesso foi necessário criar uma base de dados para guardar os dados inseridos na aplicação, através dos formulários disponibilizados nesta, criando uma "ponte de comunicação" entre a aplicação e a base de dados.

Para tal foram criadas as seguintes entidades:

• Categorias • User_type • Users • Comentários • Músicas • Eventos • Artistas • Wall_posts • follow



3. Implementação

No presente tópico são descritas as principais funcionalidades da aplicação desenvolvida. Para tal, abaixo estão listadas as páginas que foram desenvolvidas de forma a explicar, correspondentemente, o código que foi necessário desenvolver para cada uma delas.

Páginas implementadas:

-Recorrendo ao CSS estilos.css estilos.css

- Recorrendo ao PHP

index.php addpost.php addsong.php editar.php inserteventos.php login.php profile.php register.php top.php

- Recorrendo ao JavaScript

jquery.easing.1.1.js jquery.lavalamp.js jquery.lavalamp.min.js jquery-latest.pack.js



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

Na aplicação Sushibeats, é possível realizar o registo, proceder ao log in, tendo realizado os passos anteriores e explorando a aplicação é possível criar/editar o perfil de utilizador, que engloba user, artista e administrador. O administrador pode navegar por toda a aplicação e proceder às modificações que entender. É importante referir que mesmo ao realizar o registo de administrador é necessário introduzir uma password, apenas uma vez, estando portanto protegido. Como utilizador comum (user) é possível criar posts com opção de incluir imagem, comentar eventos, ver os eventos criados, ouvir as músicas disponíveis e seguir os artistas de interesse (também registados na aplicação). Como utilizador com a categoria de artista, pode realizar também a inserção de posts, eventos (ambos com opção de upload de um flyer) e realizar upload de músicas que queira dar a conhecer à comunidade.

Também é disponibilizado um campo de pesquisa, no qual o utlizador insere a palavra que quer pesquisar. A opção de pesquisa irá procurar a palavra pesquisada nos eventos, utilizadores e músicas.


3.2. Mapa de páginas


Home (tem que realizer log/registo para explorer a aplicação)

Registo – Log In (realizando registo direcciona para página de log in que por sua vez será redireccionado para a Home –index.php)

Home – Profile – Events – About – Sig Out - Pesquisa (menu, pesquisa e opção de Sign off presente em todas as páginas - top.php)

Home – opção de visitar perfis de utilizadores registados podendo realizar o Follow e ouvir músicas;

Profile – dependendo da categoria do user este pode:

Sendo User: Editar Perfil | Adicionar um Post – que poderá apagar a qualquer altura

Sendo Artista: Editar Perfil | Adicionar um Post | Adicionar Evento | Adicionar Música

Events Ver os eventos existentes, saber mais acerca desses eventos e comentar (a funcionalidade está presente para todos os utilizadores).

About Nesta página está presente o mapa de páginas da aplicação para poder guiar os utilizadores caso existam dúvidas. Além da ajuda prestada existe também uma descrição e contactos da equipa que desenvolveu a aplicação.

Sig Out Procedendo ao Sign Out o utilizador é redireccionado para a página de Log In.



3.2.1 Server Behaviors, Recordets e Queries

Neste tópico serão representados apenas alguns dos behaviors, recordsets e queries utilizadas. Não se coloca na totalidade o que foi utilizado de modo a não tornar o documento, entenda-se relatório, de certo modo confuso, uma vez que a programação poderá ser conferida pelos docentes nas páginas que disponibilizamos na entrega do projecto.

Index.php: recordset relativo aos eventos, para que apareça uma lista destes;

Register.php: esta página recorre a dois recordsets, um para a tabela users e outro para a user_type. Utilizou-se um Insert Record para o utilizador poder registar-se na base de dados; check New Username para garantir que os Usernames dos utilizadores são únicos na database; Validate Form no formulário de registro de utilizadores para garantir que o utilizador preenche todos os campos.

Login.php: esta página recorre a um recordset da tabela Users, seguido de um Log In User para que o utilizador possa entrar na sua conta.

Pesquisa.php: esta página recorre a 4 recordsets com filtros para os valores passados pelo form pesquisa através de queries. Por exemplo, no recordset pesquisa_musica, a query é a seguinte

"SELECT * FROM musicas WHERE titulo OR artista LIKE %s", onde Like permite-nos comparar o valor da pesquisa realizada e compará-la com os dados inseridos na base de dados, fazendo com que todos os resultados sejam musicas ou artistas que contenham o termo de pesquisa realizado. Tem um conjunto de Move to Previous, Next, Last e First Page, de modo a que o utilizador possa navegar pelas páginas de resultados, assim como um conjunto de Show if Not First ou Last Page para os butões acima referidos.


3.2.2 Parâmetros passados entre páginas

Através destes parâmetros é possível filtrar o que pretendemos que a página mostre. Poderá ser filtrado o user_id do utilizador para serem apresentados os seus dados na página de perfil, por exemplo, ou ainda o parâmetro “page” que permite mostrar as respectivas páginas no index.php através do comando “include”. Temos ainda o parâmetro “action” para filtrar as acções que o utilizador realizou, o login, logout e registo no site. Estes parâmetros são passados por URL e recebidos na página php pelo comando $_GET (nos casos do feedback dado ao utilizador no momento do login, update, logout, register, etc.), ou então com o comando $_POST se o parâmetro for passado por um campo de um formulário (nos casos da pesquisa, nos formulários do register, do login e do register, etc.). Action: ‘profile’; ‘login’;’logout’;’register’ Result: ‘true’;’false’ Id: ‘user_id’ Page:’myphotos’;’events’;’newsdetail’;’about’;’addevent’


4. Integração

Além das linguagens de programação obrigatórias, tais como PHP HTML e CSS, recorreu-se ao JavaScript para implementar o calendário, presente nos campos de inserção de datas, assim como para aplicar o efeito de fade in das mensagens de feedback, por exemplo.


5. Desenvolvimentos Futuros

Para desenvolvimentos futuros pretende-se implementar a opção de editar os posts, no presente esta opção não está aplicada tendo o utilizador de apagar os posts com os quais não esteja satisfeito. Como administrador pretende-se aplicar a opção de eliminar registos de utilizadores. Tal não foi aplicado, uma vez que realizando a eliminação de registos criaria espaços em branco (null) na base de dados e, como não se poderia averiguar com exactidão os malefícios que tal acção poderia ter, optou-se por deixar em stand-by, para mais tarde poder realizar tal acção caso se comprove que esta não prejudica de modo algum a base de dados e a ligação desta com a aplicação. Irá ser aplicada também uma ajuda em termos de mostrar a localização dos eventos com apoio ao Google Maps.



6. Conclusões

Na aplicação SushiBeats estão aplicados todos os conhecimentos apreendidos no decorrer do semestre, no que respeita à disciplina de laboratório multimédia IV, e não só. Algo que também foi ensinado durante as aulas, foi que é necessária perseverança e autonomia para procurar soluções para problemas que possam surgir, pelo que durante a realização deste projecto foi necessário recorrer a bastante pesquisa, seleccionar, perceber e aplicar toda a informação. Embora se considere que o projecto tem um número de funcionalidades muito respeitável e funcional, é de lamentar não conter uma ou outra funcionalidade que se considerem importantes, tendo-se registado no tópico de desenvolvimentos futuros. Mesmo com algumas das funcionalidades não implementadas considera-se um projecto de qualidade e uma base para decerto ser implementado on-line, no futuro, já com as devidas alterações efectuadas.



7. Bibliografia

Programação com PHP 5.3 – Carlos Serrão e Joaquim Marques, editora FCA- Editora de Informática Locais na Web http://php.net/ http://www.fca.pt/ http://www.queness.com/post/77/simple-jquery-modal-window-tutorial/ http://woork.blogspot.com/2009/05/how-to-implement-post-to-wall-facebook.html/ http://www.gmarwaha.com/blog/2007/08/23/lavalamp-for-jquery-lovers/ http://dev.mysql.com/ http://jqueryui.com/demos/datepicker/ <nowiki>Inserir texto não-formatado aqui</nowiki>

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox