Buscar

Prévia do material em texto

U.M.O.D.B
Universal Movie Opinion Database
Objetivo:
Promover uma aplicação para classificação de filmes.
Disclaimer:
Essa aplicação está sendo desenvolvida, e o progresso atual pode ser visto em
Task Progress
Codigo Fonte:
Caso deseje observar o codigo fonte da API, você deverá encontra-los na seção de
apps Os microserviços: são umodb a api graphql, movie_microservices e
people_microservices
Como Rodar:
1. Execute docker compose up -d
2. Instale as dependencias: npm install
3. Rode migrações: Para isso você precisará acessar rodar os sql's: diretamente
na base de dados, os sql's dos respectivos bancos podem ser encontrados
na ./sql/, rode o arquivo movie_ddl.sql no banco mysql acessivel em
192.168.56.1:3380 no da base movie_db e username igual à movie e senha
igual à movie_db_password_123. rode o arquivo customer_ddl.sql no banco
postgresql: acessivel em: 192.168.56.1:5432 nome da base people_db com
senha e username iguais à postgres
4. Gere os modelos prisma: cd ./apps/movie_microservice/ e npx prisma
generate(caso não funcione experimente instalar o prisma globalmente npm
install -g prisma em seguida cd ./apps/movie_microservice/ e prisma
generate)
5. Execute em terminais diferentes: npm run start-core para rodar a api
graphql, npm run start-movie para inciiar o serviço de filmes, e npm run
start-people para iniciar o serviço de clientes
Documentação da API GRAPHQL
Você pode acessar a documentação publica da api no arquivo: index.html ( em
breve online ) Pode acessar a documentação das interfaces no arquivo: index.html
(em breve online)
Task Progress
task rea
d
in
progress
in
documentation
in
test
don
e
create gateway
resolvers
✔ ✔ ✔
register operator ✔ ✔ ✔Doc ✔ ✔
register movies ✔
update movies ✔
register actors ✔
register stream
plataform
✔
update stream
plataform catalog
✔
register customer ✔
update customer ✔
like movie ✔
unlike movie ✔
create score movie ✔
https://github.com/this-rafael/umodb/blob/develop/apps/umodb/docs/public/index.html
https://github.com/this-rafael/umodb/blob/develop/apps/umodb/docs/private/index.html
https://github.com/this-rafael/umodb/blob/develop/docs/register-operator.md
edit movie score ✔
list actor reviews ✔
create actor review ✔
edit actor review ✔
list basic review on
movie
✔
create basic review
on movie
✔
update basic review
on movie
✔
list comments on
basic review
✔
comment on basic
review
✔
edit commend on
basic review
✔
list full movie review ✔
create full movie
review
✔
update full moview
review
✔
Casos de uso
Como operador do sistema eu posso me cadastrar no
sistema e gerenciar meus dados.
Cada operador do sistema, tem nome email e senha
Como operador do sistema eu posso cadastrar e atualizar
filmes
Cada filme tem um titulo, autor, plataforma de stream, e uma lista de atores
Como operador do sistema eu posso cadastrar atores
Cada ator tem um nome e uma data de nascimento
Como operador do sistema eu posso cadastrar
plataformas onde se passam os filmes
Cada plataforma tem o seu nome e uma lista de filmes
Como operador do sistema eu posso remover um filme do
catalogo de uma plataforma
Como cliente eu posso me cadastrar no sistema e
gerenciar meus dados.
Cada cliente tem nome, email, senha, genero e data de nascimento
Como cliente eu posso gostar ou deixar de gostar de um
filme.
Como cliente eu posso classificar o filme de 1 a 5 estrelas
Como o cliente eu posso editar minha classificação ou
apaga-la
Como cliente eu posso ver as reviews feitas a um ator
dentro de um filme
Cada review tem o nome do ator, o nome do filme, uma descrição de texto e o autor
daquela postagem
Como cliente eu posso criar e editar uma review sobre um
ator:
Como cliente eu posso listar resenhas já feitas em um
determinado filme
Cada resenha tem um titulo, descrição, data e hora de que foram postados além do
nome do criador, uma lista de comentarios sobre a resenha
Como cliente eu posso escrever uma resenha de um filme
ou edita-la.
Cada resenha tem um titulo, descrição, data e hora de que foram postados além do
nome do criador, uma lista de comentarios sobre a resenha
Como cliente eu posso ver todos os comentarios feitos a
uma revisão basica
Como cliente eu posso responder (escrever o comentario)
sobre resenhas já feitas em um filme
Cada comentario tem uma descrição, e o nome do criador
Como cliente eu posso editar um comentario feito feito
sobre uma resenha
Como cliente eu posso ler avaliações completas sobre um
filme
A avaliação completa tem:
● Um titulo
● Descrição breve
● Uma descrição sobre os pontos positivos (opcional)
● Uma descrição sobre os pontos negativos (opcional)
● Uma seção de topicos de avalição sobre o filme, onde cada topico será
representado por:
○ Titulo do topico, Exemplo: direção
○ Uma avalição de 1 a 5 sobre o topico
● Uma avaliação geral, calculada automaticamente pela formula:
SOMATORIO_DAS_AVALIACOES_NOS_TOPICOS /
QUANTIDADE_DE_TOPICOS
Como cliente eu posso escrever e editar avaliações
completas sobre um filme