Você está na página 1de 22

Específicações Técnicas

Arquitectura de sistema
smarter, faster, better deliver

Representação de alto-nível, soluções estratégicas, decisões e as suas


relações na estrutura fisica e lógica.

Sistema optimizado para melhores performances.

Trabalho, no âmbito da disciplina de Projecto, do Curso de Novas Técnologias da Comunicação,


da Universidade de Aveiro, realizado por:

47162 - Paulo Figueiredo (pjrfigueiredo@ua.pt)

2011 http://www.festock.com
Específicações Técnicas
Arquitectura de sistema
smarter, faster, better deliver

0‘‘ ‘‘0
0 0 ‘‘

0 0 0
‘‘ ‘‘

0 ‘‘ 0‘ ‘ 0
‘‘

0
0‘‘0‘‘ ‘0 0 0 ‘‘
‘‘ ‘‘ ‘‘
0
0‘‘0‘‘
00 0
0 ‘ 0 0 ‘‘‘ 0
0
‘‘

0
‘‘ ‘‘
‘‘ ‘‘ ‘‘
0 ‘‘ 0
‘‘ ‘‘

0 00000 000 ‘‘‘‘ 0 0‘‘‘‘0 ‘ ‘ 0‘ ‘


‘‘
‘‘
0‘‘ ‘‘ ‘‘0
‘‘
‘‘
‘‘ 0
‘‘

00 ‘‘ 0
‘‘
‘‘ ‘‘ ‘‘
‘‘
(2011) (2012)

Pensada para lidar com o sucesso.

Específicações Técnicas > Arquitectura


Específicações Técnicas
Arquitectura de sistema
smarter, faster, better deliver

Distribuição de tarefas Nós fizemos isto - we made this Soluções Open-Source

Plataforma assente em vários servidores, Cada camada do sistema foi escolhida por Utilizamos soluções open-source, usadas e
cada um deles específicamente nós ou desenvolvida por nós. A nossa testadas por alguns dos projectos web
configurado com hardware e software para equipa está estratégicamente dividida e mais sonantes a nível mundial, tais como
lidar apenas com as tarefas que lhes serão focada pelas diferentes camadas do Wordpress, Flickr, Wikipedia, Twitter,
destinadas. E nada mais. sistema, assegurando-lhe uma atenção Typepad, Youtube, Digg, entre outros.
constante.

Distribuimos os processos necessários Garantimos as melhores soluções técnicas Muitas das soluções foram desenvolvidas
para o funcionamento do Festock, sendo aos nossos visitantes, em cada camada do específicamente para lidar com inumeros
assi possível lidar com um número sistema seja com o mais recente e estável pedidos e ou o fazem mais rápido ou criam
crescente de utilizadores, desde o dia do software, seja com as melhores práticas. soluções paralelas que fazem com que o
lançamento. Tudo integrado. Tudo estável. sistema não seja alvo de um
processamento de dados desnecessário.
Apenas leitura.

Específicações Técnicas > Arquitectura


Específicações Técnicas
Arquitectura de sistema
vista geral da solução

Visitantes/Clientes

Internet
Internet
APIs externas
Infraestrutura local

Servidor da aplicação Servidor de Servidor de


compressão de streaming de
vídeos vídeos

Servidor(es) de backups

Específicações Técnicas > Arquitectura


Específicações Técnicas
Arquitectura de sistema
principais fluxos dos pedidos e da informação e explicação simples dos blocos

Visitantes/Clientes 1. Pedido efectuado pelo visitante.

Internet
Internet
APIs externas
Infraestrutura local
3. APIs e outros ficheiros
Servidor da aplicação Servidor de Servidor de
servidos por 3ªs partes
compressão de streaming de
vídeos vídeos
2. Pedido recebido pelo servidor de http APACHE.
Os pedidos serão processados através do processador 5. Streaming dos
de scripting PHP, que em conjunto com um servidor 4. Compressão, pelo vídeos armazenados.
de base de dados MySQL, irão devolver os resultados ffmpeg, dos vídeos
ao visitante através de uma página web. submetidos.
----------------------------------------------------------------------- --------------------------
Estes pedidos e processamentos serão muitas vezes Feitos através de um
acelerados graças a soluções de reverse proxy e caches. agendamento no
sistema operativo
(cron).

Servidor(es) de backups

Específicações Técnicas > Arquitectura


Específicações Técnicas
Arquitectura de sistema
solução decomposta em módulos

0 00 ‘‘0
000
‘‘

‘ 0 0 ‘‘
‘‘

0‘‘0‘‘ ‘0
‘‘ ‘‘

0 ‘‘
‘‘

0 00
‘‘
‘‘ ‘‘ ‘‘
‘‘
HTTP GET/POST Response

HTTP GET/POST Request HTTP GET/POST Response HTTP GET/POST Response

Firewall
Framework JQuery

Google Analytics

StatCounter

HTTP Reverse Proxy


(Nginx)

Compressão de vídeos
HTTP Reverse Proxy

HTTP Reverse Proxy

Streaming de video
Servidor HTTP Ficheiros estáticos
(Apache) (css, js, jpg, png, etc.)

(ffmpeg)

(ffmpeg)
(Nginx)

(Nginx)
Processador de scripting Op-cache
(PHP) (eAccelerator)

Base de Dados Memory Caching


(MySQL) (memcached)

Backups

Específicações Técnicas > Arquitectura


Específicações Técnicas
Arquitectura de sistema
principal funcionamento
Resposta

000
0
‘‘ ‘‘
‘‘
‘‘ Pedido
HTTP Cache
(Varnish Cache)
HTTP Reverse Proxy
(Nginx) Se o pedido está disponível em cache (hit),
(hit)
o servidor de cache responde
Servidor de proxy HTTP imadiatamente e o pedido nunca chega à
de alta performance. dynamic aplication.

Memory Cache
(memcached)

Aumenta a performance
PHP
HTML
CSS
ao colocar em cache dados
JS
JSON na memória.
etc...
Resposta

Processador de scripting
Base de dados Processador de scripting
(PHP)
(MySQL)
(PHP)

Específicações Técnicas > Arquitectura


Específicações Técnicas
Arquitectura de sistema
justificação

Tivemos como principais objectivos e preocupações a eficácia e a eficiência.


Todas as tecnologias usadas são open-source e têm como função maximizarem a performance da nossa aplicação perante
os nossos visitantes e de minimizar os recursos, por parte da nossa infraestrutura física, nomeadamente cpu e memória face aos pedidos.

nginx é um servidor de http e reverse proxy, de alta performance e estabilidade e de consumo baixo de recursos.
Ao contrário do Apache, o nginx foi desenvolvido tendo em conta grandes afluências ao servidor http pelo que lida melhor com
grandes afluências. É usado pelo Wordpress, YouTube, Facebook, GitHub, SouceForce entre outros.

PHP é uma linguagem de scripting desenvolvida para desenvolvimento de páginas web dinâmicas. Tal como o nginx é usado pelos portais
web mais conhecidos e acedidos a nível mundial tais como o Wordpress, YouTube, Facebook, GitHub, SouceForce entre outros.

eAccelerator optimiza o código de PHP e disponibiliza-o em cache, na memória ou disco. O eAccelerator pode reduzir até 10x o processamento
no servidor dos scripts em PHP.

memcached é um sistema geral de caching. Será usado principalmente para aumentar os resultados às queries à base de dados, uma vez
que ao criar cache dos resultados e coloca-los na memória RAM torna o seu acesso muito mais rápido. É usado pelo Facebook, YouTube, Twitter
entre outros.

ffmpeg é conjunto de bibliotecas e software open-source que grava, converte e cria streaming de audio e video. As suas bibliotecas são usadas
por, por exemplo, VLC, MPlayer, Blender, Google Chrome entre outros.

Além destas soluções que visam criar eficiência e eficácia no nosso portal, os servidores estarão dotados de soluções de monitorização de hardware,
rede, etc como por exemplo o RRDTool/Cacti afim de podermos prever e/ou atender a falhas no sistema.
O sistema dispõe de um infraestrutura paralela de backup. Os backups serão periodicamente replicados num
datacenter num país ainda a estipular.

Não menos importante, toda a solução funcional é desenvolvida sob um sistema de control de versões, neste caso o Subversion.

Keywords: Open-Source, Eficiência, Eficácia, Capacidade, Resposta, Escalabilidade, Segurança, Manutenção


Específicações Técnicas
Arquitectura de sistema
solução decomposta em módulos - considerações

Tarefas diferentes, hardware diferente Módulos extras Sistema mutável


Os três servidores terão configurações de O servidor de compressão dos vídeos e O sistema foi concebido com a
hardware diferentes uma ves que o servidor de streaming de vídeos capacidade de ser escalável, além disso,
desempenharão tarefas diferentes. estarão também dotados de PHP e de os módulos apresentados são, segundo
MySQL, uma vez que estarão a nossa análise, a melhor solução
implementadas soluções de encontrada, contudo, estamos cientes
Servidor da aplicação monitorização de sistema web-based, da evolução constante das técnologias e
Processador entre outras, que requerem estas surgimento de novas soluções, tanto a
Memória RAM funcionalidades. nível de software como de hardware,
que poderão proporcionar melhores
Servidor de compressão de vídeos performances.
Processador*
Memória RAM
Armazenamento

Servidor de compressão de vídeos


Armazenamento*

* Vital ou de grande importância

Específicações Técnicas > Arquitectura


Específicações Técnicas
Fluxograma das principais funções
introdução

Os fluxogramas são técnicas de representações gráficas, nas quais que se utilizam símbolos previamente convencionados,
permitindo a descrição clara e precisa do fluxo, ou sequência de um processo, bem como sua análise e redesenho.

Apresentaremos os f luxogramas das principais funcionalidades do portal

Os fluxogramas apresentados servem de representação à forma como são executadas algumas das principais funcionalidades do portal Festock
Nestas representações estão visíveis os fluxos do lado do cliente e do lado do servidor, quando aplicado.
- convidar júri
- criar evento
- criar festival
- submeter filme numa competição
- upload de filme
- converter filme

Específicações Técnicas > Fluxogramas


Específicações Técnicas
Arquitectura de sistema
convidar Júri

Client-side Server-side

PH P
Pede nom e Ajax PHP s im
E x is tem utiliza dor es
I nicio ou em a il do E nv ia nom e ou em a il R ecebe nom e ou
com o nom e ou em a il
j úr i pa r a o s er v idor em a il do j úr i
for necido?

s im
nã o

JS ON
nã o Quer pr ocur a r com J a v a S cr ipt
S em
outr o nom e ou Apr es enta
utiliza dor
em a il? “ m ens a gem ”

nã o
JS ON
J a v a S cr ipt D a dos dos
O j úr i a pa r ece na C r ia j a nela s com os utiliza dor es
cons ulta ? utiliza dor es encontr a dos
encontr a dos

s im

PHP
E s colha de R ecebe da dos do j úr i PH P s im
Ajax
um dos e a cr es centa a lis ta O j úr i foi ins er ido na
E nv ia da dos do j úr i
utiliza dor es de j úr is do fes tiv a l na ba s e de da dos ?
ba s e de da dos

nã o

JS ON
J a v a S cr ipt
er r os
Apr es enta “ E r r os ”

J a v a S cr ipt JS ON
Fim Apr es enta m ens a gem de s uces s o
s uces s o

Específicações Técnicas > Fluxogramas


Específicações Técnicas
Fluxograma das principais funções
criar evento
C lient- s ide S er v er - s ide

J a v a S cr ipt PHP
V er ifica s e os ca m pos PHP
Pede s im R ecebe da dos do s im
es tã o todos pr eenchidos Os da dos fora m
I nicio da dos do fes tiv a l e env ia
cor r ecta m ente recebidos pela
E v ento pa r a a ba s e de
ba s e de da dos ?
da dos

nã o nã o
J a v a S cr ipt
Apr es enta Ajax
“ E rr o” E nv ia da dos pa r a
o s er v idor

JS ON
er r os

J a v a S c r ipt
Pede da dos JS ON
C r ia ca m pos de
da s s uces s o
a diçã o de
com petiçoes
com petições

PHP
J a v a S cr ipt PHP
Ajax Grava as s im
V er ifica s e os da dos Os da dos fora m
E nv ia da dos pa r a ca tegor ia s do
es tã o todos pr eenchidos gua r da dos na ba s e de
o s er v idor ev ento na ba s e de
cor r ecta m ente da dos ?
da dos

nã o

JS ON
er r os

J a v a S cr ipt JS ON
Fim Mens a gem de s uces s o
s uces s o

Específicações Técnicas > Fluxogramas


Específicações Técnicas
Fluxograma das principais funções
criar festival

C lient- s ide S er v er - s ide

J a v a S cr ipt PHP PHP


s im R ecebe da dos do Os da dos fora m s im
Pede da dos V er ifica s e os ca m pos es tã o
I nicio fes tiv a l e env ia pa r a recebidos pela ba s e
do fes tiv a l todos pr eenchidos
cor r ecta m ente a ba s e de da dos de da dos ?

nã o nã o

J a v a S cr ipt
Ajax
Apr es enta “ E r r o”
E nv ia da dos pa r a o
s er v idor

JS ON
er r os

J a v a S cr ipt JS ON
Pede da dos do
C r ia ca m pos de s uces s o
pa ga m ento
pa ga m ento

PHP
PHP
Ajax Pr oces s a o s im
Os da dos for a m
E nv ia da dos pa r a o pa ga m ento e gr a v a
proces s a dos e gua r da dos
s er v idor da dos na ba s e de
na ba s e de da dos ?
da dos

nã o

JS ON
er r os

J a v a S cr ipt JS ON
Fim Mens a gem de s uces s o
s uces s o

Específicações Técnicas > Fluxogramas


Específicações Técnicas
Fluxograma das principais funções
submeter video em festival

Client-side Server-side

I nicio

PHP
Utiliza dor Utiliza dor Utiliza dor PHP
Ajax O film e pode concorrer s im
s elecciona s elecciona s elecciona PHP E nv ia pa ra a ba s e de
E nv ia da dos em toda s a s
film e pa ra fes tiv a l pa ra com petições R ecebe da dos da dos os da dos da s
pa r a s erv idor com petições
s ubm eter concor rer pa r a concor r er ins crições
s eleciona da s ?

nã o
JS ON
J a v a S c r ipt
err os
Apres enta “ E rr o”

PHP
Os da dos fora m
nã o
recebidos
correcta m ente pela
ba s e de da dos ?
JS ON
J a v a S c r ipt
err os
Apres enta “ E rr o”

s im

J a v a S c r ipt JS ON
Fim Mens a gem de s uces s o
s uces s o

Específicações Técnicas > Fluxogramas


Específicações Técnicas
Fluxograma das principais funções
convidar Júri

S erv er - s ide

Cron
Cron F ich e ir o ph p
s im Qua ndo ter m ina r a
D e 1 5 em 1 5 m in ex ecuta V erifica s e ex is te a lgum
I nicio I nicia conv ers ã o conv er s ã o Actua liza
o ficheiro conv ers a o de film e que a inda nã o
os da dos do film e na
film es php tenha s ido conv ertido
BD

nã o
Fim

Específicações Técnicas > Fluxogramas


Específicações Técnicas
Fluxograma das principais funções
Upload de filme
C lient- s ide S erv er- s ide

PHP PHP
J a v a S cr ipt s im Ajax PHP O ficheiro foi s im I ns ere ca m inho do
I nicio I ns er e film e Form a to do film e é E nv io o ficheiro do G ua rda o ficheiro do gua rda do? film e na ba s e de
v á lido? film e pa ra o s erv idor film e no s erv idor
da dos

nã o
nã o
J a v a S cr ipt
Apr es enta “ E rro”
JS ON
erros
nã o PHP
Os da dos fora m
gua rda dos na B D ?

JS ON
erros
s im

J a v a S cr ipt JS ON
nã o
Pr eencheu o link do C ons trói div pa ra D a dos do
I MD B ? pedir os da dos do ficheiro de film e
film e e m os tra j a nela

s im
PHP PHP
Ajax s im
PHP O link é v a lido? Lê a pá gina do I m db
E nv ia link pa ra o
R ecebe link do im db e retira os da dos do
s erv idor
film e

nã o

JS ON
J a v a S c r ipt
erros
Apres enta “ E rro”
PHP
R etorna os da dos
encontra dos

J a v a S cr ipt JS ON
preenchim ento Preenche os ca m pos D a dos do film e
m a nua l de todos de tex to com os no I m db
os da dos da dos recebidos

PHP
Ajax
PHP Actua liza da dos do
E nv ia da dos pa ra o
R ecebe da dos film e na ba s e de
s erv idor
da dos

JS ON
erros

nã o PHP
Os da dos fora m
gua rda dos na B D ?

s im
J a v a S cr ipt JS ON
Fim Mos tra m ens a gem de s uces s o
s uces s o

Específicações Técnicas > Fluxogramas


Específicações Técnicas
Base de dados
introdução

É possível dizer de uma forma genérica que qualquer conjunto de dados é uma base de dados (BD) – exemplo:
bloco de notas.
Embora sendo possível usar a definição genérica dada acima, o termo base de dados é aplicado hoje em dia princi-
palmente para fazer referência a bases de dados informáticas, isto é, conjuntos de dados estruturados, manipula-
dos usando um Sistema de Gestão de Bases de Dados (SGBD) ou Database Management System (DBMS).

Específicações Técnicas > Base de dados


Específicações Técnicas
Base de dados
Narrativa

O mundo cinematográfico” é cada vez mais exigente no que respeita aos recursos utilizados para fomentar o seu progressivo cresci-
mento no mercado global.
Para fazer face às exigências dos festivais de cinema, a empresa ‘Festock’ criou um serviço on-line que permite a comunicação entre
festivais e utilizadores/cineastas.
Na plataforma “Festock” qualquer utilizador tem acesso ao registo, sem que tenha qualquer custo (€) para o efeito. Refira-se, ainda, que
qualquer utilizador (registado ou não registado) tem a possibilidade de conhecer a realidade de toda a dinâmica da plataforma, serviços
disponíveis e potencialidades existentes. Veja-se alguns exemplos: aceder aos contactos dos administradores do site; visualizar o histo-
rial e o manual de identidade da empresa “Festock”; aceder a informações relativas a festivais ou eventos dos mesmos e seus detalhes;
assistir a alguns filmes e seus detalhes; assistir a notícias e seus detalhes; consultar a ajuda; fazer registo e login.
Após registo no site o utilizador, além das funcionalidades referidas anteriormente, passa a usufrui de novas funcionalidades, tais como:
a inserção de filmes e respectiva inscrição em festivais; a visualização de filmes (biblioteca); a possibilidade de enviar, receber e visualizar
mensagens; a opção de utilizar um sistema de pesquisa com filtragem (notícia, autor, festival, evento, filme); a hipótese de criar um
festival. Ao criar um festival, e após este ser aceite pela administração da plataforma, o utilizador passa a poder administra-lo a partir de
novas funcionalidades que são disponibilizadas (publicar, editar e apagar notícias; convidar júris e formar guest list, selecionar filmes para
concurso; criar e editar eventos; gerir estatísticas; gerir as participações dos utilizadores no festival). Existe ainda outra categoria de
utilizador - júri, esta permite ao utilizador ver e avaliar os filmes concorrentes.
Refira-se, ainda, que os utilizadores têm total mobilidade na plataforma.

Específicações Técnicas > Base de dados


Específicações Técnicas
Base de dados

Específicações Técnicas > Base de dados


Específicações Técnicas
Base de dados
Descriçao das principais tabelas

filmes – esta tabela possibilita:


- a agregação de todos os dados dos filmes, tais como: titulo, sinopse, URL do filme, autor, duração, etc.;

utilizadores – esta tabela possibilita:


- a agregação de todos os dados dos utilizadores, tais como: nome, password, email;

mensagens – esta tabela possibilita:


-a agregação de todos os dados das mensagens, tais como: corpo da mensagem, autor da mensagem, data de publicação;

juris – esta tabela possibilita:


- a distinção dos festivais e respectivos filmes para posterior avaliação;

avaliacoes – esta tabela possibilita:


- a agregação de todos os dados das avaliações efectuadas;

administradoresFestivais – esta tabela possibilita:


- a agregação de todos os criadores/administradores de festivais;

festivais – esta tabela possibilita:


- a agregação de todos os dados dos festivais, tais como: nome do festival, morada do festival, telefone do festival, email do festival URL do festiva;

noticias – esta tabela possibilita:


- a agregação de todos os dados as notícias, tais como: data de publicação, corpo da notícia;

planosFestivais – esta tabela possibilita:


- a agregação de todos os planos/pacotes que podem ser adquiridos pelos utilizadores, aquando da “elaboração” de festivais;

pagamentos – esta tabela possibilita:


- a agregação de todos os dados dos pagamentos efectuados, tais como: data de pagamento, quantia paga, plano/pacote adquirido, validade da subscrição, festival associado
ao pagamento;

edições – esta tabela possibilita:


-a agregação de todos os dados relativos às edições dos festivais, tais como: nome do festival, ano da edição do festival, número da edição do festival, referência ao início e
ao fim das inscrições no festival;

competicoesEdicao – esta tabela possibilita:


-a agregação das competições utilizadas numas determinada edição/festival, tais como: melhor filme internacional, melhor filme de animação, melhores efeitos especiais,
etc.;

generos – esta tabela possibilita:


- a agregação de todos os géneros dos filmes, tais como: animação, drama, terror, etc.;

submissoes – esta tabela possibilita:


- a agregação de todos os dados relativos às submissões dos filmes, tais como: data de submissão, id do filme, id do utilizador;

linguas – esta tabela possibilita:


- a agregação de todos os idiomas disponíveis para as linguas dos filmes;

Específicações Técnicas > Base de dados


Específicações Técnicas
Mapa do site
Landing page

Login
Apresentação do site
Registo
Festivais
Filmes
Notícias
Sobre nós
Factos
Notícias Filmes Festivais Mapa do site Ajuda Contactos Sobre nós

Listagem das notícias Listagem dos filmes Listagem dos festivais Mapa de navegação FAQ Morada Historial
Links Funcionalidades Mapa de localização Manual de identidade
Ajuda online Email
Telefone

Página da notícia Página do filme Página do festival

Corpo da notícia Detalhes do filme Detalhes


Login Detalhes da notícia Ver filme (utilizadores Contactos
registados) Inscrições
Competições
Eventos

Evento

Detalhes do evento

Home page
(utilizador)
Filmes
Eventos
Mensagens
Pesquisar
Perfil
Ajuda
Criar festival

Filmes Eventos Mensagens Pesquisar Perfil Criar festival Perfil administrador Perfil júri
(festival) (festival)

Inserir filme Recomendações Enviar mensagem Procurar por: Def. de privacidade Formulário de registo Notícias Ver filmes
Os meus filmes Lista de eventos Ver recebidas - notícia Editar dados Pagar subscrição Administrar Avaliar filmes (rating)
Inscrição em festivais Pesquisar Ver enviadas - autor O meu historial Eventos
Ver filme As minhas inscrições - festival Mensagens
- evento Pesquisar
- filme

Logout

Páginas acedidas por todos os utilizadores (registados e não registados)


Notícias Administrar Eventos Páginas acedidas por todos osutilizadores registados

Publicar Convidar júris Criar Página acedida pelo júri


Editar Comprar pacotes Editar Páginas acedidas pelo administrador
Apagar Criar guest list
Gerir participações Login/Logout
Selecionar vídeos
Estatísticas Se o for utilizador registado - júri
Referências Se o for utilizador registado - administrador
http://www.ibm.com/developerworks/ibm/library/i-osource2/ Se for utilizador registado (logado)

Específicações Técnicas > Mapa do site


Específicações Técnicas
Mapa do site
Descriçao das principais tabelas

A localização é um dos pontos-chave do século XXI. Quando levamos a mesma consideração de localização e acessibilidade aos nossos sites, devemos sempre colocar-
nos nas posições dos nossos utilizadores e nada melhor do que uma "bússola" virtual para orientá-los. Nas "páginas inicias" esse instrumento é conhecido como - Mapa
do Site.

Mapa do site (disposição detalhada)


Utilizadores não registados

Landing page – Esta página estará presente sempre que qualquer utilizador (registado ou não registado) aceda ao nosso site.

Funcionalidades:
-Login
-Apresentação do site
-Registo
-Festivas
-Filmes
-Notícias
-Factos (estatísticas do site)

Notícia – Nesta página, todos os utilizadores podem:


-Aceder a todas as notícias publicadas até à data;

Página da notícia – Nesta página, todos os utilizadores podem:


-aceder ao corpo da notícia;
-consultar os detalhes da notícia (autor, data de publicação, etc.);

Filmes – Nesta página, todos os utilizadores podem:


-consultar todos os filmes presentes no site;

Página do filme – Nesta página, todos os utilizadores podem:


-Detalhes – consultar os detalhes de um filme em específico;
-Ver filme(utilizado ver um filme em específico;

Festivais – Nesta página, todos os utilizadores podem:


-consultar todos os festivais que estão ou já estiveram vinculados ao site;

Página do festival – Nesta página, todos os utilizadores podem:


-consultar os detalhes de um festival em específico;
-aceder aos contactos do festival (telefone, website do festival, etc.);
-concorrer, com os seus filmes, nos festivais que pretenderem;
-verificar/analisar/filtrar as competições, nas quais podem concorrer com os seus filmes;
-consultar os eventos de um determinado festival

Evento – Nesta página, todos os utilizadores podem:


-consultar todos os detalhes relativos a um determinado evento

Mapa do site – Nesta página, todos os utilizadores podem:


-visualizar a “estrutura” que suporta todo o site;
-aceder aos links presentes no ‘Mapa do site’, de modo a se direccionarem para a página pretendida. Realce-se, ainda, que quanto maior for o grau de incremento que o
utilizador tiver na plataforma (ex.: júri), maior são as possibilidades de interacção com o ‘Mapa do site’;

Ajuda – Nesta página, todos os utilizadores podem aceder às seguintes ajudas:


-FAQ – esta ‘ajuda’ é composta por ‘perguntas frequentes’ (pré-definidas) pelos administradores do site;
-Funcionalidade – esta ‘ajuda’ visa informar os utilizadores dos fins/funcionalidades presentes em todo o site;
-Ajuda online – esta ‘ajuda’ permite criar uma interacção entre os utilizadores e os administradores do site, ou seja, permite ao utilizador colocar questões/dúvidas na
utilização do site aos administradores, sendo que obtêm uma resposta adequada às questões individualmente;

Contactos – Nesta página, todos os utilizadores podem aceder aos seguintes contactos da empresa responsável pelo site:
-Morada – disponibilização da morada da sede da empresa detentora do site ou sua administração;
-Mapa de localização – disponibilização da sede da empresa detentora do site ou sua administração através de um sistema de localização - Google Maps;
-Email – disponibilização do email da administração do site;
-Telefone – Disponibilização do contacto telefónico da administração do site;

Sobre nós – Nesta página, os utilizadores registados podem:


-ver todo o percurso efectuado pela empresa através do site www.festock.comaté à data;
-consultar o ‘Manual de identidade’, este que dá a conhecer a forma como o site foi construído, bem como toda a sua dinâmica a nível gráfico;

Utilizadores registados

Home page – A esta página só têm acesso os utilizadores que estão registados no site. Saliente-se que os utilizadores registados têm, também, acesso a todas as
funcionalidades presentes na ‘Landing page’.

Funcionalidades:
-Filmes
-Eventos
-Mensagens
-Pesquisar
-Perfil
-Ajuda
-Criar festival

Filmes – Nesta página, os utilizadores registados podem:


-inserir filmes no site para que, numa fase posterior, possam inscrevê-los nos festivais pretendidos;
-a qualquer momento ver a sua compilação de filmes;
-concorrer a um ou mais festivais;
-visualizar os seus filmes a qualquer momento;

Eventos – Nesta página, os utilizadores registados podem:


-receber recomendações para participação em eventos;
-aceder aos eventos dos festivais que estão disponíveis no site;
-pesquisar eventos que estejam a decorrer;
-consultar as inscrições em eventos;

Mensagens – Nesta página, todos os utilizadores registados podem:


-enviar mensagens direccionadas a um utilizador em específico que esteja associado;
-consultar as mensagens recebidas;
-consultar as mensagens enviadas;

Pesquisar – Nesta página, todos os utilizadores registados podem recorrer a filtros para pesquisar de uma forma mais eficiente, veja-se as possibilidade de filtragem:
-notícia;
-autor;
-festival;
-evento;
-filme;

Perfil – Nesta página, todos os utilizadores registados podem:


-consultar e alterar as definições de privacidade no que respeita à publicação dos filmes por parte do site;
-editar os seus dados pessoais;
-consultar o seu histórico de participações em festivais;

Criar festival – Nesta página, todos os utilizadores registados podem:


-preencher o formulário para formalizar a pretensão em criar um festival;
-efectuar pagamento após preenchimento do formulário. Este será a confirmação da existência ‘real’ do festival;

Utilizadores registados – administradores

Perfil administrador – Nesta página, todos os utilizadores registados (administradores) podem:


-publicar notícias;
-administrar todo o festival;
-gerir os diversos eventos do festival;
-enviar mensagens;

Notícias – Nesta página, todos os utilizadores registados (administradores)podem:


-publicar notícias sobre os festivais a que estão vinculados;
-editar as notícias publicadas;
-apagar as notícias publicadas;

Administrar – Nesta página, todos os utilizadores registados(administradores) podem:


-elaborar e enviar convites, por forma a forma um júri;
-aceder à comprar de pacotes/subscrições no site www.festock.com;
-gerir as participações dos utilizadores concorrentes;
-convidar membros para fazerem parte da organização (ex.: júri);
-gerir as estatísticas relativas à adesão de participantes no evento;
-selecionar os vídeos após consulta e nota do júri;

Eventos – Nesta página, todos os utilizadores registados (administradores)podem:


-criar eventos (ex.: criar/inscrever novos festivais);
-editar os eventos criados;

Utilizadores registados – Júris

Perfil júri – Nesta página, todos os utilizadores registados (júris) podem:


-avaliar filmes através de um sistema de rating, o que permite uma “filtragem” dos filmes concorrentes;
-ver os filmes de forma a poderem avalia-los;

Login – Este permite aos utilizadores registados se conectarem ao site de modo a usufruírem de todas as funcionalidades disponíveis.

Logout – Este permite aos utilizadores, que estão conectados ao site, desconectarem-se do mesmo.

Específicações Técnicas > Base de dados