ShushiBeats

From Laboratório MM 5

Jump to: navigation, search

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