Skip to main content

Modelo Lógico

Modelo Lógico (MongoDB) - Projeto OBLIVION

Este documento descreve a estrutura das coleções e documentos para o banco de dados MongoDB do projeto OBLIVION. Ele serve como a "fonte da verdade" para a estrutura de dados que será implementada.


Coleção: usuarios

Armazena os dados de cada usuário cadastrado no sistema.

CampoTipoDescriçãoObservações
_idObjectIdIdentificador único gerado pelo MongoDB.Chave Primária.
nomeStringNome completo do usuário.Obrigatório.
emailStringEmail do usuário para login e contato.Obrigatório, Índice Único.
dataCadastroISODateData e hora do cadastro do usuário.Obrigatório.

Coleção: midias

Armazena os metadados de qualquer fonte de mídia enviada (vídeo, áudio ou URL), implementando a generalização através do campo tipo.

CampoTipoDescriçãoObservações
_idObjectIdIdentificador único da mídia.Chave Primária.
usuarioIdObjectIdReferência ao _id do usuário que fez o upload.Chave Estrangeira (Obrigatório).
hashStringHash (ex: SHA-256) do conteúdo do arquivo.Índice Único. Nulo se tipo="URL".
urlNormalizadaStringURL padronizada para evitar duplicidade de links.Índice Único. Existe apenas se tipo="URL".
tipoStringTipo da mídia: "VIDEO", "AUDIO", ou "URL".Obrigatório.
nomeArquivoStringNome original do arquivo enviado.Não aplicável se tipo="URL".
tamanhoBytesNumberTamanho do arquivo em bytes. 
tipoArquivoStringMIME type do arquivo (ex: "video/mp4").Não aplicável se tipo="URL".
duracaoMsNumberDuração do conteúdo em milissegundos. 
dataUploadISODateData e hora do envio.Obrigatório.
resolucaoStringResolução do vídeo (ex: "1920x1080").Opcional (existe apenas se tipo="VIDEO").
canaisStringCanais do áudio (ex: "stereo").Opcional (existe apenas se tipo="AUDIO").
linkOriginalStringA URL original enviada pelo usuário.Opcional (existe apenas se tipo="URL").
plataformaStringPlataforma de origem da URL (ex: "YouTube").Opcional (existe apenas se tipo="URL").

Coleção: transcricoes

Armazena o estado e o resultado de cada processo de transcrição.

CampoTipoDescriçãoObservações
_idObjectIdIdentificador único da transcrição.Chave Primária.
midiaIdObjectIdReferência à _id da mídia que está sendo transcrita.Chave Estrangeira (Obrigatório). Índice.
statusStringStatus do job: "pendente", "processando", "concluido", "erro".Obrigatório. Índice.
textoCompletoStringO texto final da transcrição. 
dataCriacaoISODateData e hora do início do job.Obrigatório.
dataAtualizacaoISODateData e hora da última atualização de status.Obrigatório.
participantesArray de ObjetosLista dos participantes identificados no texto.Ver schema embutido abaixo.

Schema Embutido: participantes

O campo participantes é um array de objetos, onde cada objeto segue a estrutura:

CampoTipoDescrição
individuoDetectadoStringNome/rótulo do locutor (ex: "Locutor A").
trechosRelacionadosArray de ObjetosLista de trechos de fala daquele indivíduo.