---
# System prepended metadata

title: PROPOSTA TCC FINAL AUCKLAND

---

# PROPOSTA TCC FINAL AUCKLAND

## 🎮 JOGO Cookin'Fresh 

### 💡 Ideia
- Jogo de cozinha saudável
    [Video demonstrativo de um jogo exemplar](https://youtu.be/l_zcj5W9bro)

### 🎯 Objetivos
- Incentivar e ensinar a preparação de pratos mais saudáveis

## 🤯 O problema

As crianças e adolescentes de hoje tem muita dificuldade em manter uma alimentação saudável. Uma das possíveis causas desse problema é a falta de educação nutricional: muitas crianças e adolescentes não recebem educação adequada sobre nutrição e alimentação saudável, o que pode contribuir para escolhas alimentares inadequadas. Como, por exemplo:

- Consumo excessivo de açúcar: muitos alimentos e bebidas destinados a crianças e adolescentes contêm quantidades excessivas de açúcar, o que pode contribuir para a obesidade, cáries dentárias e outros problemas de saúde.

- Alimentação desequilibrada: muitas crianças e adolescentes não comem uma dieta equilibrada, com muitas calorias vazias provenientes de alimentos processados e com baixo teor de nutrientes.

- Dieta pobre em vegetais e frutas: muitas crianças e adolescentes não consomem a quantidade adequada de vegetais e frutas, o que pode contribuir para a falta de nutrientes essenciais e aumentar o risco de doenças crônicas.

- Fast food e comida industrializada: o consumo excessivo de fast food e alimentos industrializados pode levar a um aumento do consumo de calorias, sódio e gorduras saturadas, o que pode contribuir para a obesidade e outros problemas de saúde.


## 🤔 Proposta de Solução
Visto tal problema, foi desenvolvida uma solução baseada em uma aplicação interativa e gamificada, que demonstre para o nosso usuário que uma alimentação saudável é constituída desde a escolha do ingrediente até a produção da receita, e com isso, ele possa analisar melhor os produtos que for consumir. No jogo, o usuário poderá fazer atividades como:
- Descobrir diferentes receitas
- Simular a preparação de diferentes pratos

## 👥 Definição de Usuários

### Jogador

Este usuário é a pessoa que irá interagir com a aplicação gamificada.

## 🔌 Tecnologias

### 💻 Front-End

- Aplicação feita com as linguagens Javascript, HTML, CSS e a biblioteca React

### 💻 Back-End

- API feita com a linguagem Java e o framework Spring Boot

### 💾 Banco de Dados

- PostgreSQL

## ⚙️ Funcionalidades

### 📱Compativel com touch e dispositivos móveis
- O app será compatível com touch e compatível com diferentes resoluções, para que consiga ser usado em diferentes dispositivos

### 🔒 Autenticação de Jogador
- O usuário poderá criar uma nova conta Cookin' Fresh
- Para entrar no jogo o usuário poderá optar por entrar com sua conta Cookin' Fresh ou poderá também jogar como convidado
- A autenticação deverá ser feita com o Basic Auth.
- Serão necessários e-mail e senha cadastrados para a autenticação.
- Apenas um cadastro por e-mail

### 👴 Experiência
- Ganha experiência decorrente da conclusão de receitas
     
### 🍅 Ingredientes
- O mesmo ingrediente pode participar de várias receitas

### 📝 Receitas
- Cada receita contém uma lista de ingredientes e quantidades
- Além de ingredientes cada receita tem um link que leva ao passo a passo completo da receita
    
### 🍳 Cozinhar pratos
- Escolher receita para cozinhar
    - Todas as receitas do jogo ficam listadas no livro de receitas, onde o usuario pode ver as receitas de forma paginada e selecionar a que deseja
    - Apenas as receitas disponíveis ficarão desbloqueadas para o jogador
    - O jogador poderá escolher apenas uma receita por vez, desde que possua, no momento da escolha, o nível mínimo necessário 
    - Para escolher as receitas o usuário também poderá filtrar entre um prato doce ou salgado
    - Além do filtro de doce e salgado se o usuário quiser uma receita específica ele pode pesquisar o nome da receita na área de busca
- Ao cozinhar qualquer prato, o jogador deverá seguir uma sequência de passos pré-definidos para completar a receita.
- Cada passo da receita requer que o jogador realize ações de jogabilidade para interagir com os ingredientes. Ex: cortar, picar, refogar, ligar fogão, misturar, etc.
- Ao final da preparação, o jogo deve mostrar as instruções da receita original e a opção de compartilhar a receita para que o jogador ou outra pessoa possa executá-la em casa.

### ♟️ Método de preparação

Ao cozinhar qualquer prato, o usuário deverá realizar ações de jogabilidade com os ingredientes por meio de ações do mouse, simulando uma preparação real. Exemplos:

- Segurar utensílio
    - O usuário deve utilizar segurar os utensílios por meio do click ou touch e arrastá-lo para realizar ações com o mouse ou dedo.

- Fatiar ingrediente
    - O usuário deve utilizar uma faca e arrastá-la com o mouse ou touch na direção indicada para cortar uma fatia do ingrediente.

- Picar ingrediente
    - O usuário deve utilizar uma faca e usá-la com o mouse ou touch na direção indicada para cortar o ingrediente em picados.

- Refogar ingredientes
    - O usuário deve clicar nos ingredientes para adiciona-los à frigideira, acender o fogo e arrastar a colher de pau nas posições indicadas para refogar com sucesso.

- Fritar carne / panqueca / ovo
    - O usuário deve clicar nos ingredientes para adiciona-los à frigideira, acender o fogo e mover a panela no momento indicado para girar o ingrediente.

- Cozinhar na panela
    - O usuário deve clicar nos ingredientes para adiciona-los à panela e manuesear a colher de pau com o mouse ou touch para mexer o cozimento em movimentos circulares.

- Misturar ingredientes
    - O usuário deve clicar nos ingredientes para adiciona-los à tigela e manusear o fuê com o mouse ou touch em movimentos aleatórios para misturar com sucesso.

- Levar ao forno
    - O usuário deve abrir a porta do forno com um clique depois segurar a forma por meio do click ou touch e arrastá-la para o forno, após largar a forma no forno é preciso fechar a porta e esperar o cronometro terminar.

### ⭐ Pontuação do prato
- Dependendo do desempenho do jogador, ele poderá receber de 1 a 3 estrelas.
- As ações podem ter um requisito para ser seguido e caso não sejam atendidos podem acarretar perda de pontos na receita.

## 🧾 Exemplo de Receita

**Molho de Tomate**
- 5 tomates cortados
- 1 cebola picada
- 2 dentes de alho picados
- 5 fios de azeite
- 5 pitadas de manjericão
- 5 pitadas de sal

### 👣 Sequencia de passos

- Cortar Tomates
    - Realizar ação de cortar o tomate para cada um dos 5 tomates com a ação de "Arrastar o clique do mouse do ponto "A" ao ponto "B" sem sair da área definida"
- Picar Cebola
    - Picar as cebolas com a ação de cliques rápidos
- Picar Dentes de Alho
    - Picar os dentes de alhos com a ação de cliques rápidos
- Refogar ingredientes
    - Clicar no azeite para untar a panela.
    - Ligar o fogo
    - Clicar nos ingredientes para adicioná-los à panela.
    - Para que a barra de progresso avançe o usuário deverá manter a frigideira em cima do fogo
- Cozimento
    - Para iniciar o processo de cozinhar o usuário deverá clicar nos ingredientes para adicioná-los à panela
    - Após adicionar os ingredientes à panela, o usuário deverá usar a colher para misturar, realizando a ação de "Mexer o mouse em círculo em um objeto" para completar a barra de progresso
    - Se o jogador parar de mexer a colher antes de a barra de progresso terminar, a barra ficará imóvel só voltando a subir uma vez que o usuário continuar a mexer o molho com a colher
    
- Receita finalizada
    - Aparece o feedback para o usuário mostrando quantas estrelas ele conquistou

## 📁 Backlog

### 📱 Progressive Web Application
- Adicionar PWA no aplicativo

### 🔗 Compartilhar em redes sociais
- Possibilidade de enviar receita nas redes sociais como Facebook, Instagram, Whatsapp, etc.

### 🌐 Login social
- Entrar com contas pessoais do Google, Facebook, Github, entre outras.

### 😃 Amigos
- Leaderboard com todos os jogadores ou amigos por ordem de pontuação
- Não pode adicionar uma pessoa que já possui amizade
- Deve ser possível abrir o perfil do amigo
- Enviar presentes para os amigos

### ❓ Missões
- Tarefas que o usuário cumprirá e receberá recompensas como créditos e experiência.
- Missões diárias
    - Missões que se renovarão todo dia.

### 💰 Economia
- O jogador começa o jogo com créditos suficientes para poder comprar ingredientes básicos para o preparo da primeira receita.
- Ao concluir qualquer receita, ganhará créditos referentes a recompensa daquela receita em específico.

### 🛒 Mercado
- Pode comprar novos ingredientes, desde que possua o valor necessário para a compra.
- Ao comprar um novo item, o valor deverá ser descontado da economia do usuário e o item adicionado ao inventário.

### 🎒 Inventário
- Guardar os ingredientes comprados no mercado

### 🏆 Leaderboard por Receita
- Listagem dos melhores amigos nessa receita