Home | Escopo | Gerenciamento | Banco de Dados | Arquitetura | Desenvolvimento |
---|
Banco de Dados
Apresentamos nessa seção uma representação do modelo ER do banco de dados desenvolvido em cima dos documentos utilizados pelo Firebase:
-
Por ser um banco não-relacional, a ideia foi apenas criar uma representação dos relacionamentos entre os documentos armazenados no Firebase. As entidades serão explicadas a seguir:
-
Users: representa os usuários do aplicativo. Essa entidade armazena dados pessoais e informações sobre sua última avaliação.
- id: representa um hash gerado pelo Firebase para identificar um usuário.
- birthDate: data de nascimento do usuário.
- email: e-mail do usuário.
- height: altura do usuário, utilizado na avaliação.
- name: nome do usuário.
- sex: sexo do usuário.
- weight: peso do usuário.
- lastScore: pontuação da última avaliação do usuário.
-
Questionnaires: representa os questionários a serem respondidos na etapa de avaliação do usuário. Atualmente podem ser SBST ou NDI.
- questionaryType: indica qual o tipo de questionário, podendo ser SBST ou NDI.
- questions: indica as questões de cada questionário.
-
answer: indica as respostas de cada questão. Esse campo é representado pelo objeto
answer
.
-
Answers: representa as respostas possíveis dentro de um questionário. As respostas podem ter uma pontuação de 1 a 5 ou serem binárias, como 'Sim' ou 'Não'.
-
binary: utilizado para questões que possuem resposta
Sim
ouNão
. - multiple: utilizado para questões que possuem múltiplas respostas.
-
binary: utilizado para questões que possuem resposta
-
Score: armazena dados sobre as pontuações dos questionários e o usuário que respondeu.
- scoreId: id gerado pelo Firebase para o resultado de uma avaliação.
- questionaryType: tipo do questionário respondido pelo usuário (SBST ou NDI).
- score: pontuação final ao término da avaliação.
- userId: id do usuário que respondeu o questionário.
-
Exercises: representa os exercícios a serem executados pelo usuário ao término de uma avaliação ou posteriormente caso ele desejar.
- breakpoints: TODO
- description: descrição verbal sobre o exercício executado.
- title: título do vídeo sendo executado.
- url: url do Youtube para o vídeo sendo executado.