Um trabalho para o PROJETO INTEGRADOR e para DESENVOLVIMENTO DE APLICAÇÕES WEB - 4º Informática do IFSP-Jacareí
- Ana Paula Abrantes de Castro Shiguemori
- Flavia Beatriz Rodrigues Prisco da Cunha
- Ariadne Arrais Cruz
- Luis Eduardo Sales do Nascimento
-
Sistema de Login e cadastro de usuários: Armazenamento dos dados do usuário no banco de dados. -
Mini games: Mini games educativos que ensinem as crianças conceitos báscios das matérias. -
Sistema de pontuação e Ranking: Pontuação do usuário em cada disciplina e pontuação geral do usuário. A pontuação geral é usada como base para a criação de um ranking entre os usuários.
-
Segurança: Garantir a segurança dos dados do usuário. -
Facilidade de uso: Garantir que o sistema seja de uso fácil e intuitivo, possibilitando que crianças utilizem do sistema sem grandes dificuldades. -
Desempenho: Garantir que o site funcione sem travamentos. -
Qualidade educacional: Garantir que os minigames estejam conceitualmente corretos e que proporcionem um aprendizado de qualidade às crianças
-
Sistema operacional compatível: O sistema deve ser acessado por qualquer navegador dos seguintes sistemas: Windows, Linux, android, ios, MacOs. -
Tecnologias utilizadas: O sistema deve ser WEB, ou seja, precisa ser desenvolvido para ser acessados pelos navegadores.
-
Lei Geral de Proteção de Dados (LGPD) - Lei nº 13.709/2018: O sistema deve seguir as normas estabelecidas pela LGPD. -
Marco Civil da Internet (Lei nº 12.965/2014): O sistema deve seguir as normas estabelecidas pelo Marco Civil da Internet. -
Código de Defesa do Consumidor (CDC) – Lei nº 8.078/1990: O sistema deve seguir as normas estabelecidas pelo Código de Defesa do Consumidor.
Observação: C.T significa Criação de Tela
Esboço da Interface:
Mockup do site: https://www.canva.com/design/DAGhcNGDoB4/RJ91RutQgmSEIraWqMDJyQ/edit
Esse projeto contará com as seguintes Entidades e atributos
Essa entidade é necessária para cadastrar os dados dos usuários, utilizando o serviço de autenticação do supabase. Os dados são os atributos:uuid: É um atributo do tipo uuid. É o responsável por criar um Id único para o usuário(CHAVE PRIMÁRIA).email: É um atributo do tipo TEXT. É o responsável por armazenar o email do usuário.
id: É um atributo do tipo INT8. É o responsável por criar um Id único para o usuário(CHAVE PRIMÁRIA).tipo: É um atributo do tipo TEXT. É o responsável por armazenar o tipo do usuário: responsável ou criança.nome: É um atributo do tipo TEXT. É o responsável por armazenar o nome do usuário.idade: É um atributo do tipo INT8. É o responsável por armazenar a idade do usuário.id_auth: É um atributo do tipo UUID. É o responsável por referênciar esse usuário a entidade Users(CHAVE ESTRANGEIRA).
id: É um atributo do tipo INT8. É o responsável por criar um Id único para o usuário(CHAVE PRIMÁRIA).nome: É um atributo do tipo TEXT. É o responsável por armazenar o nome do usuário.idade: É um atributo do tipo INT8. É o responsável por armazenar a idade do usuário.id_responsavel: É um atributo do tipo UUID. É o responsável por referênciar essa criança a algum responsável da entidade Users(CHAVE ESTRANGEIRA).
-
id: É um atributo do tipo INT8. É o responsável por criar um Id único para a pontuação(CHAVE PRIMÁRIA). -
materia: É um atributo do tipo TEXT. É o responsável por armazenar o nome da matéria referente a pontuação. -
pontuacao: É um atributo do tipo INT8. É o responsável por armazenar a pontuação obtida pela crianca. -
updated_at: É um atributo do tipo timestamptz. É o responsável por armazenar a data e hora da atualização da pontuação. -
id_crianca: É um atributo do tipo UUID. É o responsável por referênciar essa pontuação a açguma criança da entidade Crianca(CHAVE ESTRANGEIRA).
Essa entidade é necessária para armazenar as tentativas feitas pela criança. Os dados são os atributos:
id: É um atributo do tipo INT8. É o responsável por criar um Id único para a pontuação(CHAVE PRIMÁRIA).materia: É um atributo do tipo TEXT. É o responsável por armazenar o nome da matéria referente a pontuação.pontuacao: É um atributo do tipo INT8. É o responsável por armazenar a pontuação obtida pela crianca.created_at: É um atributo do tipo timestamptz. É o responsável por armazenar a data e hora da criação da tentativa.id_crianca: É um atributo do tipo UUID. É o responsável por referênciar essa pontuação a açguma criança da entidade Crianca(CHAVE ESTRANGEIRA).
Antes de começar, você vai precisar ter as seguintes ferramentas instaladas em sua máquina:
- Node.js: (Recomendado v18 ou superior)
- npm: (geralmente instalado junto com o Node.js)
- Git: (para clonar o repositório)
-
Clone o repositório (substitua pela URL do seu repositório):
git clone [https://github.com/seu-usuario/BEM-APRENDI.git](https://github.com/seu-usuario/BEM-APRENDI.git)
-
Entre na pasta do projeto:
cd BEM-APRENDI -
Instale as dependências do Node.js:
npm install
Este projeto precisa de um arquivo .env na raiz para armazenar chaves de API e outras variáveis de ambiente.
-
Crie um arquivo chamado
.envna pasta principal do projeto. -
Adicione as variáveis de ambiente necessárias. (Como seu projeto usa o Supabase, você precisará das chaves do seu painel):
# Exemplo para conexão com Supabase SUPABASE_URL=COLE_AQUI_A_URL_DO_SEU_PROJETO_SUPABASE SUPABASE_KEY=COLE_AQUI_A_SUA_CHAVE_ANON_SUPABASE
Nota: Você encontra essas chaves no painel do seu projeto no Supabase, em "Project Settings" > "API".
Após instalar e configurar, você pode iniciar o servidor.
-
Inicie o servidor local:
node server/index.js
(Como alternativa, se você tiver um script "start" no seu
package.json, você pode usarnpm start) -
O terminal deverá exibir a mensagem:
Servidor rodando em http://localhost:3000 -
Abra seu navegador e acesse o jogo: http://localhost:3000
Gabriel de Paula Baroni |
Vinícius Ferreira Guimarães Maximo |
Renan Alexandre Morais de Souza |
Felipe Oliveira Batista Silva |
|---|
