Vous êtes sur la page 1sur 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

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

(2011)

‘ 0 ‘ ‘ 0 ‘ 0 ‘ ‘ ‘ ‘ ( 2 0 1 1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

‘ ‘

0

0

0

0

0

0

0

0

0

0

0 0

0 0 0

0

0

0

0

0

0

0

0

0

0

0

0

(2012)

‘ 0 ‘ ‘ 0 ‘ ‘ 0 ‘ 0 ‘ ‘ 0 ‘ ‘ (2012)

Pensada para lidar com o sucesso.

Específicações Técnicas > Arquitectura

‘ 0 ‘ 0 ‘ ‘ 0 ‘ ‘ (2012) Pensada para lidar com o sucesso.

Específicações Técnicas

Arquitectura de sistema

smarter, faster, better deliver

Distribuição de tarefas

Plataforma assente em vários servidores, cada um deles específicamente configurado com hardware e software para lidar apenas com as tarefas que lhes serão destinadas. E nada mais.

Distribuimos os processos necessários para o funcionamento do Festock, sendo assi possível lidar com um número crescente de utilizadores, desde o dia do lançamento.

Específicações Técnicas > Arquitectura

Nós fizemos isto - we made this

Cada camada do sistema foi escolhida por nós ou desenvolvida por nós. A nossa equipa está estratégicamente dividida e focada pelas diferentes camadas do sistema, assegurando-lhe uma atenção constante.

Garantimos as melhores soluções técnicas aos nossos visitantes, em cada camada do sistema seja com o mais recente e estável software, seja com as melhores práticas. Tudo integrado. Tudo estável.

Soluções Open-Source

Utilizamos soluções open-source, usadas e testadas por alguns dos projectos web mais sonantes a nível mundial, tais como Wordpress, Flickr, Wikipedia, Twitter, Typepad, Youtube, Digg, entre outros.

Muitas das soluções foram desenvolvidas específicamente para lidar com inumeros pedidos e ou o fazem mais rápido ou criam soluções paralelas que fazem com que o sistema não seja alvo de um processamento de dados desnecessário. Apenas leitura.

paralelas que fazem com que o sistema não seja alvo de um processamento de dados desnecessário.

Específicações Técnicas

Arquitectura de sistema

vista geral da solução

Visitantes/Clientes Internet Infraestrutura local Servidor da aplicação Servidor de Servidor de compressão de
Visitantes/Clientes
Internet
Infraestrutura local
Servidor da aplicação
Servidor de
Servidor de
compressão de
streaming de
vídeos
vídeos
Servidor(es) de backups
Internet
Internet

APIs externas

de vídeos vídeos Servidor(es) de backups Internet APIs externas Específicações Técnicas > Arquitectura

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

1. Pedido efectuado pelo visitante. Visitantes/Clientes Internet Internet APIs externas Infraestrutura local 3. APIs
1. Pedido efectuado pelo visitante.
Visitantes/Clientes
Internet
Internet
APIs externas
Infraestrutura local
3. APIs e outros ficheiros
servidos por 3ªs partes
Servidor da aplicação
Servidor de
Servidor de
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
de scripting PHP, que em conjunto com um servidor
de base de dados MySQL, irão devolver os resultados
ao visitante através de uma página web.
5. Streaming dos
vídeos armazenados.
4. Compressão, pelo
ffmpeg, dos vídeos
submetidos.
----------------------------------------------------------------------- --------------------------
Estes pedidos e processamentos serão muitas vezes
acelerados graças a soluções de reverse proxy e caches.
Feitos através de um
agendamento no
sistema operativo
(cron).
Servidor(es) de backups

Específicações Técnicas > Arquitectura

de um 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

0

0

0

0 0

0

0

0

0

0

0 0 0

0

0

HTTP GET/POST Response HTTP GET/POST Response HTTP GET/POST Response HTTP GET/POST Request
HTTP GET/POST Response
HTTP GET/POST Response
HTTP GET/POST Response
HTTP GET/POST Request
StatCounter
StatCounter
Framework JQuery
Framework JQuery
Google Analytics
Google Analytics

Firewall

HTTP Reverse Proxy (Nginx) Servidor HTTP (Apache) Ficheiros estáticos (css, js, jpg, png, etc.) Processador
HTTP Reverse Proxy
(Nginx)
Servidor HTTP
(Apache)
Ficheiros estáticos
(css, js, jpg, png, etc.)
Processador de scripting
(PHP)
Op-cache
(eAccelerator)
Base de Dados
(MySQL)
Memory Caching
(memcached)
HTTP Reverse Proxy
(Nginx)
Compressão de vídeos
(ffmpeg)
HTTP Reverse Proxy
(Nginx)
Streaming de video
(ffmpeg)

Específicações Técnicas > Arquitectura

Backups

(ffmpeg) HTTP Reverse Proxy (Nginx) Streaming de video (ffmpeg) Específicações Técnicas > Arquitectura Backups

Específicações Técnicas

Arquitectura de sistema

principal funcionamento

Resposta

0 ‘ 0 ‘ 0 ‘ 0 ‘ Pedido HTTP Cache (Varnish Cache) ‘ ‘
0 ‘
0 ‘
0 ‘
0 ‘
Pedido
HTTP Cache
(Varnish Cache)
HTTP Reverse Proxy (Nginx) (hit) Servidor de proxy HTTP de alta performance. Se o pedido
HTTP Reverse Proxy
(Nginx)
(hit)
Servidor de proxy HTTP
de alta performance.
Se o pedido está disponível em cache (hit),
o servidor de cache responde
imadiatamente e o pedido nunca chega à
dynamic aplication.
Memory Cache
(memcached)
PHP
HTML
CSS
JS
Aumenta a performance
ao colocar em cache dados
na memória.
JSON
etc
Resposta
Processador de scripting
Base de dados
(PHP)
Processador de scripting
(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

. 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,

a

nossa análise, a melhor solução

desempenharão tarefas diferentes.

estarão também dotados de PHP e de MySQL, uma vez que estarão

os módulos apresentados são, segundo

Servidor da aplicação Processador Memória RAM

implementadas soluções de monitorização de sistema web-based, entre outras, que requerem estas funcionalidades.

encontrada, contudo, estamos cientes da evolução constante das técnologias e surgimento de novas soluções, tanto a nível de software como de hardware,

Servidor de compressão de vídeos 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

que poderão proporcionar melhores performances.

ou de grande importância Específicações Técnicas > Arquitectura que poderão proporcionar melhores performances.

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 fluxogramas 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

- 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 Ser ver - side I nicio Pede nom e ou em ail
Client - side
Ser ver - side
I nicio
Pede nom e
ou em ail do
júri
A j a x
E nvia nom e ou em ail
para o s ervidor
P H P
R ecebe nom e ou
em ail do júri
PHP
E x is tem utilizadores
com o nom e ou em ail
fornecido?
s im
s im
não
J
S O
N
não
Quer procurar com
outro nom e ou
em ail?
J a v a S c r ip t
Apres enta
“m ens agem ”
S e
m
utiliz
ador
não
J
S
O
N
J a v a S c r ip t
Cria janelas com os
utilizadores
encontrados
Dados
dos
O júri aparece na
cons ulta?
utilizad
ores
encon
tr
ados
s im
P H P
E s colha de
um dos
utilizadores
R ecebe dados do júri
PHP
s im
A j a x
E nvia dados do júri
e
acres centa a lis ta
de júris do fes tival na
O júri foi ins erido na
bas e de dados ?
bas e de dados
não
J
S O
N
J a v a S c r ip t
Apres enta “E rros ”
err
o
s
J a v a S c r ip t
Apres enta m ens agem de
s uces s o
J
S
O
N
Fim
s uc
es s o

Específicações Técnicas > Fluxogramas

Específicações Técnicas

Fluxograma das principais funções

criar evento

Client- side

Pede I nicio dados do J a v a S c r ip t Verifica
Pede
I nicio
dados do
J a v a S c r ip t
Verifica se os cam pos
estão todos preenchidos
correctam ente
E vento
não
J a v a S c r ip t
Apresenta
“E rro”

sim

vento não J a v a S c r ip t Apresenta “E rro” sim A
A j a x E nvia dados para o servidor
A j a x
E nvia dados para
o servidor
J a v a S c r ip t Cria cam pos de adição de
J a v a S c r ip t
Cria cam pos de
adição de
com petições
v a S c r ip t Cria cam pos de adição de com petições Pede
Pede dados das com petiçoes
Pede dados
das
com petiçoes
adição de com petições Pede dados das com petiçoes J a v a S c r
J a v a S c r ip t Verifica se os dados estão todos
J a v a S c r ip t
Verifica se os dados
estão todos preenchidos
correctam ente

A j a x E nvia dados para o servidor E nvia dados para o servidor

J a v a S c r ip t Mensagem de sucesso
J a v a S c r ip t
Mensagem de
sucesso
Fim
Fim

S erver- side

P H P R ecebe dados do festival e envia para a base de dados
P H P
R ecebe dados do
festival e envia
para a base de
dados
P H P
Os dados foram
recebidos pela
base de dados?
sim
não
P H P G rava as categorias do evento na base de dados P H
P H P
G rava as
categorias do
evento na base de
dados
P H P
Os dados foram
guardados na base de
dados?
sim
não
J S O N erros
J
S
O
N
erros
J S O N suce sso
J
S
O
N
suce
sso
J S O N e r ros
J
S
O
N
e
r
ros
J S O N su cesso
J
S
O
N
su
cesso

Específicações Técnicas > Fluxogramas

N erros J S O N suce sso J S O N e r ros J
N erros J S O N suce sso J S O N e r ros J

Específicações Técnicas

Fluxograma das principais funções

criar festival

Client- side

J a v a S c r ip t Verifica se os cam pos estão
J a v a S c r ip t
Verifica se os cam pos estão
todos preenchidos
correctam ente
sim
Pede dados
I nicio
do festival
não
J a v a S c r ip t
Apresenta “E rro”
A j a x E nvia dados para o servidor
A j a x
E nvia dados para o
servidor
Apresenta “E rro” A j a x E nvia dados para o servidor J a v
J a v a S c r ip t Cria cam pos de pagam ento
J a v a S c r ip t
Cria cam pos de
pagam ento
A j a x E nvia dados para o servidor
A j a x
E nvia dados para o
servidor
pos de pagam ento A j a x E nvia dados para o servidor Pede dados
Pede dados do pagam ento
Pede dados do
pagam ento
J a v a S c r ip t Mensagem de sucesso
J a v a S c r ip t
Mensagem de
sucesso
Fim
Fim

S erver- side

P H P R ecebe dados do festival e envia para a base de dados
P H P
R ecebe dados do
festival e envia para
a base de dados
P H P
sim
Os dados foram
recebidos pela
base
de dados?
não
P H P Processa o P H P Os dados foram sim pagam ento e
P H P
Processa o
P H P
Os dados foram
sim
pagam ento e grava
dados na base de
dados
processados e guardados
na base de dados?
não
de dados processados e guardados na base de dados? não J S O N er ros
de dados processados e guardados na base de dados? não J S O N er ros
J S O N er ros
J
S
O
N
er
ros
J S O N suce sso
J
S
O
N
suce
sso
J S O N er ros
J
S
O
N
er
ros
J S O N su cesso
J
S
O
N
su
cesso

Específicações Técnicas > Fluxogramas

N er ros J S O N suce sso J S O N er ros J

Específicações Técnicas

Fluxograma das principais funções

submeter video em festival

Client -side

I nicio Utilizador selecciona film e para subm eter Utilizador Utilizador selecciona selecciona festival para
I nicio
Utilizador
selecciona
film e para
subm eter
Utilizador
Utilizador
selecciona
selecciona
festival para
com petições
concorrer
para concorrer
festival para com petições concorrer para concorrer J a v a S c r ip t
J a v a S c r ip t Apresenta “E rro”
J a v a S c r ip t
Apresenta “E rro”
A j a x E nvia dados para servidor
A j a x
E nvia dados
para servidor
J a v a S c r ip t Apresenta “E rro”
J a v a S c r ip t
Apresenta “E rro”
J a v a S c r ip t Mensagem de sucesso
J a v a S c r ip t
Mensagem de
sucesso
Fim
Fim
j a x E nvia dados para servidor J a v a S c r ip

Ser ver -side

P P H P R ecebe dados P H P O film e pode concorrer
P
P H P
R ecebe dados
P H P
O film e pode concorrer
em todas as
com petições
selecionadas?
H P
sim
E nvia para a base de
dados os dados das
inscrições
não
P
H P
não
Os dados foram
recebidos
correctam ente pela
base de dados?
dados os dados das inscrições não P H P não Os dados foram recebidos correctam ente

sim

J S O N er r os
J
S
O
N
er
r
os
J S O N er r os
J
S
O
N
er
r
os
J S O N suc esso
J
S
O
N
suc
esso

Específicações Técnicas > Fluxogramas

sim J S O N er r os J S O N er r os J

Específicações Técnicas

Fluxograma das principais funções

convidar Júri

S erver- side

F ic h e ir o p h p De 15 em C r o
F ic h e ir o
p h p
De 15
em
C r o n
15 m in ex ecuta
sim
o ficheiro conversao de
film es php
Verifica se ex iste algum
film e que ainda não
tenha sido convertido
I nicia conversão
C r o n
Quando term inar a
conversão Actualiza
os dados do film e na
B D
não
I nicio
I nicio
Fim
Fim

Específicações Técnicas > Fluxogramas

conversão Actualiza os dados do film e na B D não I nicio Fim Específicações Técnicas

Específicações Técnicas

Fluxograma das principais funções

Upload de filme

Client- side J a v a S c r ip t sim I nicio I
Client- side
J a v a S c r ip t
sim
I nicio
I nsere film e
Form ato do film e é
válido?
A j a x
E nvio o ficheiro do
film e para o servidor
não
J a v a S c r ip t
Apresenta “E rro”
J
a v a S c r ip t
não
Preencheu o link do
Constrói div para
I MDB ?
pedir os dados do
film e e m ostra janela
sim
A j a x
E nvia link para o
servidor
J a v a S c r ip t
Apresenta “E rro”
J
a v a S c r ip t
preenchim ento
m anual de todos
os dados
Preenche os cam pos
de tex to com os
dados recebidos
A j a x
E nvia dados para o
servidor
J S
er
J a v a S c r ip t
Fim
Mostra m ensagem de
sucesso

N

ros

O

S erver- side

P H P P H P P H P G uarda o ficheiro do film
P H P
P H P
P H P
G uarda o ficheiro do
film e no servidor
O ficheiro foi
sim
I nsere cam inho do
guardado?
film e
na base de
dados
não
P H P
não
Os dados foram
guardados na B D?
dados não P H P não Os dados foram guardados na B D? sim PHP P

sim

PHP P H P O link é valido? R ecebe link do im db não
PHP
P H P
O link é valido?
R ecebe link do im db
não
P H P sim Lê a página do I m db e retira os dados
P H P
sim
a
página do I m db
e retira os dados do
film e
P H P R etorna os dados encontrados
P
H P
R etorna os dados
encontrados
P H P R ecebe dados
P
H P
R ecebe dados
P H P R etorna os dados encontrados P H P R ecebe dados P H
P H P Actualiza dados do film e na base de dados
P H P
Actualiza dados do
film e
na base de
dados

não

P H P

Os dados foram guardados na B D?

P H P R ecebe dados P H P Actualiza dados do film e na base

sim

J S O N e rros
J
S
O
N
e
rros
J S O N e rros
J
S
O
N
e
rros
J S O N er r os
J
S
O
N
er
r
os
J S O N Dados do film e no I m db
J
S
O
N
Dados
do
film e
no
I m db
J S O N Da dos do ficheiro de film e
J
S
O
N
Da
dos do
ficheiro
de
film e
e no I m db J S O N Da dos do ficheiro de film e
J S O N suc e sso
J
S
O
N
suc
e
sso

Específicações Técnicas > Fluxogramas

I m db J S O N Da dos do ficheiro de film e J S

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

de Gestão de Bases de Dados (SGBD) ou Database Management System (DBMS). Específicações Técnicas > Base

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

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

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

a agregação de todos os idiomas disponíveis para as linguas dos filmes; Específicações Técnicas > Base

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
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
Links
FAQ
Funcionalidades
Ajuda online
Morada
Mapa de localização
Email
Telefone
Historial
Manual de identidade
Página da notícia
Página do filme
Página do festival
Login
Corpo da notícia
Detalhes da notícia
Detalhes do filme
Detalhes
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
Perfil administrador
Perfil júri
Filmes
Eventos
Mensagens
Pesquisar
Perfil
Criar festival
(festival)
(festival)
Inserir filme
Os meus filmes
Inscrição em festivais
Ver filme
Recomendações
Lista de eventos
Pesquisar
As minhas inscrições
Enviar mensagem
Ver recebidas
Ver enviadas
Procurar por:
Def. de privacidade
Notícias
-
notícia
Editar dados
Formulário de registo
Pagar subscrição
Administrar
Ver filmes
Avaliar filmes (rating)
-
autor
O meu historial
Eventos
-
festival
Mensagens
-
evento
Pesquisar
-
filme
Logout
Notícias
Administrar
Eventos
Publicar
Criar
Editar
Editar
Apagar
Convidar júris
Comprar pacotes
Criar guest list
Gerir participações
Selecionar vídeos
Estatísticas

Referências

http://www.ibm.com/developerworks/ibm/library/i-osource2/

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

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

Páginas acedidas por todos osutilizadores registados

Página acedida pelo júri

Páginas acedidas pelo administrador

Login/Logout

Se o for utilizador registado - júripelo júri Páginas acedidas pelo administrador Login/Logout Se o for utilizador registado - administrador Se for

Se o for utilizador registado - administradoracedidas pelo administrador Login/Logout Se o for utilizador registado - júri Se for utilizador registado (logado)

Se for utilizador registado (logado)

Se o for utilizador registado - júri Se o for utilizador registado - administrador Se for

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

utilizadores, que estão conectados ao site, desconectarem-se do mesmo. Específicações Técnicas > Base de dados