Introdução
Informações básicas do projeto como nome e membros da equipe.
Informações Gerais
- Projeto: FitFlex
- Repositório GitHub: Acessar
- Membros da equipe:
Contexto
Detalhes sobre o espaço de problema, justificativas e os objetivos do projeto.
Problema
Um problema comum enfrentado por muitas pessoas que estão tentando seguir uma dieta específica é a falta de opções de substituição adequadas. Isso pode ser desafiador para aqueles que seguem dietas restritivas, como veganas, sem glúten ou com baixo teor de carboidratos.
Objetivos
O objetivo ao desenvolver esse software é proporcionar um meio fácil, prático e acessível para pessoas que fazem uma dieta, ou possuem alguma restrição alimetar e desejam consumir alimentos diferentes. O site busca ajudar no trabalho de contabilizar os macronutrientes e apresnetar receitas com ingredientes saudaveis e modo de preparo de forma bem explicada e didática.
Justificativa
O desenvolvimeto desse software é muito importante pois torna a dieta de diversos pacientes mais flexível, tornando mais facil para esse paciente aderir e continuar na dieta, comendo sempre de forma saudável. Além disso, pacientes com restrições alimentares, como célicos e/ou intolerantes a lactose, normalmente, possuem uma lista pequena de alimentos que podem consumir, porém com nossas receitas essas pessoas poderão de forma fácil transformar esses alimetos em refeições diferentes e gostosas. Nosso site serve tambem para pessoas que nao possuem grandes habilidades culinárias, mas com os videos disponíveis aprenderam as receitas facilmente.
Público-alvo
O público alvo do serviço Fit Flex são pessoas de diversas faixa etárias que possuem problemas com a substituição de alimentos na dieta e a falta de condições financeiras para arcar com nutricionistas. Este serviço presta ajuda tanto para as personas sem nutricionistas, como também para personas que possuem nutricionista.
Concepção (Design Thinking)
Detalhes do processo de discovery do projeto.
Apresente o processo de discovery do projeto. Com foco na experiência do usuário, esse processo abrange a compreensão do contexto do problema e das características do usuário, a definição do problema, a geração de ideias, a prototipagem e a elaboração de uma proposta de solução
Processo de Design Thinking
O arquivo que se segue apresenta o resultado desse processo.
Apresente o processo de Design Thinking realizado pelo grupo e documentado por meio do software Miro. No documento apresentado, devem ser incluídos: (1) a matriz CSD, (2) o mapa de stakeholders, (3) as personas, (4) as respectivas propostas de valor e (5) o processo de ideação identificando as ideias levantadas e sua priorização.
Especificações do Projeto
Documentação das especificações do projeto.
Apresente as especificações do projeto, incluindo as histórias de usuário e os requisitos funcionais e não funcionais.
Histórias de Usuários
Com base na análise das personas foram identificadas as seguintes histórias de usuários:
Apresente aqui as histórias de usuário que são relevantes para o projeto de sua solução. As Histórias de Usuário consistem em uma ferramenta poderosa para a compreensão e elicitação dos requisitos funcionais e não funcionais da sua aplicação. Se possível, agrupe as histórias de usuário por contexto, para facilitar consultas recorrentes à essa parte do documento.
EU COMO...PERSONA |
QUERO/PRECISO...FUNCIONALIDADE |
PARA...MOTIVO/VALOR |
|---|---|---|
| Jorge | Realizar substituições em minha dieta | Melhorar minha alimentação e ganhar massa |
| Jorge | Melhorar a alimentação | Acompanhar o crescimento dos filhos |
| Sandra | Melhorar minha alimentação | Evitar gastos com nutricionista |
| Bartolomeu | Acompanhar a modernidade | Acesso à informação nutricional |
| Bartolomeu | Saber de forma fácil os dados nutricionais de um alimento pela internet | Aumentar seu conhecimento |
Requisitos
As tabelas que se seguem apresentam os requisitos funcionais e não funcionais que detalham o escopo do projeto.
Com base nas Histórias de Usuário, enumere os requisitos da sua solução. Classifique esses requisitos em dois grupos:
- Requisitos Funcionais (RF): correspondem a uma funcionalidade que deve estar presente na plataforma (ex: cadastro de usuário).
- Requisitos Não Funcionais (RNF): correspondem a uma característica técnica, seja de usabilidade, desempenho, confiabilidade, segurança ou outro (ex: suporte a dispositivos iOS e Android).
Lembre-se que cada requisito deve corresponder à uma e somente uma característica alvo da sua solução. Além disso, certifique-se de que todos os aspectos capturados nas Histórias de Usuário foram cobertos.
Requisitos Funcionais
| ID | Descrição do Requisito | Prioridade |
|---|---|---|
| RF-001 | Cadastro de Alimentos | Alta |
| RF-002 | Tela de substituição de receita | Alta |
| RF-003 | Exibição de informações da receita | Alta |
| RF-004 | Cadastro de Receitas | Alta | RF-005 | Exibição de Receitas no Carousel | Alta |
| RF-006 | Exibição de comentários | Alta |
| RF-007 | Cadastro de Comentários | Alta |
| RF-008 | Perfil do Usuário | Média | RF-009 | Sistema de Login | Média |
Requisitos Não-Funcionais
| ID | Descrição do Requisito | Prioridade |
|---|---|---|
| RNF-001 | O sistema deve ser fácil de usar | MÉDIA |
Projeto de Interface
Artefatos relacionados com a interface e a interacão do usuário na proposta de solução.
Apresente a ideia de interface que está sendo prevista para o projeto. Inclua os wireframes, o user/screen flow e o protótipo interativo.
User/Screen Flow e Protótipo interativo
Artefatos relacionados com a interface e a interacão do usuário na solução proposta.
O fluxo de usuário (User Flow) é uma técnica que permite ao desenvolvedor mapear todo fluxo de telas do site ou app. Essa técnica funciona para alinhar os caminhos e as possíveis ações que o usuário pode fazer junto com os membros de sua equipe.
Um protótipo interativo apresenta o projeto de interfaces e permite ao usuário navegar pelas funcionalidades como se estivesse lidando com o software pronto. Veja o exemplo a seguir.
Wireframes
Protótipo de telas do sistema em baixa fidelidade (rascunhos).
Os Wireframes são protótipos das telas da aplicação usados em design de interface para sugerir a estrutura de um site web e seu relacionamentos entre suas páginas. Um wireframe web é uma ilustração semelhante ao layout de elementos fundamentais na interface. 
Tela inicial: O usuário terá três opções de cadastro: Café da Manha, Almoço e Jantar (Wireframe da seção na proxima imagem)
Além de oferecer ao usuário receitas em tendência (Sistema feito com o carousel do Boostrap)
Tela de cadastro de dieta: Após clicar no + o usuário será redirecionado para essa página, aonde ele terá acesso a diversos alimentos pre-cadastrados e seus respectivos dados nutricionais. (Representados pelo xx e null)
Tela de login/registro: O usuário vai ter a opção de se cadastrar no site atráves do método tradicional: E-mail e senha
Tela de dietas: O usuário irá visualizar os itens de sua dieta, tendo acesso aos dados nutricionais do alimento e imagem.
Metodologia
Detalhes sobre a organização do grupo e o ferramental empregado.
Nesta parte do documento, você deve apresentar a metodologia adotada pelo grupo, descrevendo o processo de trabalho baseado nas metodologias ágeis, a divisão de papéis e tarefas, as ferramentas empregadas e como foi realizada agestão de configuração do projeto via GitHub.
Coloque detalhes sobre o processo de Design Thinking e a implementação do Framework Scrum seguido pelo grupo. O grupo poderá fazer uso de ferramentas on-line para acompanhar o andamento do projeto, a execução das tarefas e o status de desenvolvimento da solução.
Ferramentas
Relação de ferramentas empregadas pelo grupo durante o projeto.
Liste as ferramentas empregadas no desenvolvimento do projeto, justificando a escolha delas, sempre que possível. Inclua itens como: (1) Editor de código, ferramentas de comunicação, ferramentas de diagramação, plataformas de hospedagem, entre outras.
| Ambiente | Plataforma | Link de Acesso |
|---|---|---|
| Processo de Design Thinking | Miro | https://miro.com/app/board/uXjVKdBjxoU=/ |
| Repositório de código | GitHub | https://github.com/ICEI-PUC-Minas-PMGCC-TI/ti-1-pmg-cc-m-20241-g13-falta-de-opcoes-de-dietas |
| Hospedagem do site | Heroku | https://XXXXXXX.herokuapp.com |
| Protótipo Interativo | Figma | https://www.figma.com/file/tdfpxYOHAbUd8pOSVImzvV/fit-flex?type=whiteboard&node-id=12-404&t=4UtWRFZsV1xKynIT-0 |
Gestão do Projeto
Divisão de papéis no grupo e apresentação da estrutura da ferramenta de controle de tarefas (Kanban).
Apresente a divisão de papéis e tarefas entre os membros do grupo. Informe quem é o Scrum Master, o Product Owner e os desenvolvedores. Informe também quem é o responsável pela documentação do projeto.
Apresente o quadro de gerenciamento do time (Kanban), seu formato e as experiências na utilização dessa ferramenta (GitHub Projects)
Scrum Master
- Matheus de Almeida Moreira
Equipe de Desenvolvimento
- Alice Salim Khouri Antunes
- Gabriel da Silva Amaral
- Iasmin Ferreira e Oliveira
- Matheus de Almeida Moreira
Product Owner
- Alice Salim Khouri Antunes
Controle de Versão
Estrutura do fluxo de trabalho no ambiente do GitHub.
Discuta como a configuração do projeto foi feita na ferramenta de versionamento (GitHub). Exponha como a gerência de tags, merges, commits e branchs é realizada. Discuta como a gerência de issues foi realizada.
> A ferramenta de controle de versão adotada no projeto foi o Git.
> O projeto segue a seguinte convenção para o nome de branchs:
> - `master`: versão estável já testada do software
> - `matheus`: versão de teste da Sprint 2 ( Cadastro comentário) e Sprint 3 (Exibição comentário);
> - `alice`: versão de teste da Sprint 2 (Cadastro de alimento) e Sprint 3 (Seleção de Alimentos);
> - `iasmin`: versão de teste da Sprint 2 (Cadastro de Receitas) e Sprint 3 (Slide de imagens);
> - `gabriel`: versão de teste da Sprint 2 (Perfil do Usuário) e Sprint 3 (Cadastro de Informações do Usuário);
> Os `issues` não foram utilizados no momento.
> Os merges são utilizados juntamente com o pull request para segurança dos dados e verificação de mudanças.
Solução
Esta seção apresenta todos os detalhes da solução criada no projeto.
Apresente cada uma das funcionalidades que a aplicação fornece tanto para os usuários quanto aos administradores da solução.
Inclua, para cada funcionalidade, itens como: (1) titulos e descrição da funcionalidade; (2) Estrutura de dados associada; (3) o detalhe sobre as instruções de acesso e uso.
Video do Projeto
O vídeo a seguir traz uma apresentação do problema que a equipe está tratando e a proposta de solução.
O video de apresentação é voltado para que o público externo possa conhecer a solução. O formato é livre, sendo importante que seja apresentado o problema e a solução numa linguagem descomplicada e direta.
Utilize o recurso de compartilhamento via embed e inclua o vídeo logo abaixo.
Funcionalidades
Esta seção apresenta as funcionalidades da solução.
Apresente cada uma das funcionalidades que a aplicação fornece tanto para os usuários quanto aos administradores da solução.
Inclua, para cada funcionalidade, itens como: (1) titulos e descrição da funcionalidade; (2) Estrutura de dados associada; (3) o detalhe sobre as instruções de acesso e uso.
Funcionalidade 1 - Cadastro de Alimentos
Permite a inclusão, leitura, alteração e exclusão de alimentos para o sistema
- Estrutura de dados: Contatos
- Instruções de acesso:
- Abra o site e efetue o login de administrador
- Acesse o menu principal e escolha a opção Cadastro de Alimento

Funcionalidade 2 - Tela de substituição de receita
Permite a adição e subtração da quantidade de alimentos da sua dieta para o sistema
- Estrutura de dados: Contatos
- Instruções de acesso:
- Abra o site e efetue o login
- Acesse o menu principal e clique em substituir
- Adicione os alimentos presentes em sua dieta
- Clique em buscar receita

Funcionalidade 3 - Exibição de informações da receita
Permite a visualização da receita filtrada com base nas calorias da sua dieta
- Estrutura de dados: Contatos
- Instruções de acesso:
- Opção 01
- Abra o site e efetue o login
- Acesse o menu principal e clique em substituir
- Adicione os alimentos presentes em sua dieta
- Clique em buscar receita
- Opção 02
- Abra o site e efetue o login
- Acesse o menu principal e desça a página
- Escolha uma das 5 receitas no slide de imagens
- Clique na imagem

Funcionalidade 4 - Cadastro de Receitas
Permite a inclusão, leitura, alteração e exclusão de receitas para o sistema
- Estrutura de dados: Contatos
- Instruções de acesso:
- Abra o site e efetue o login de administrador
- Acesse o menu principal e escolha a opção Cadastro de Receitas

Funcionalidade 5 - Exibição de Receitas no Carousel
Exibição da receita cadastrada na funcionalidade 4
- Estrutura de dados: Contatos
- Instruções de acesso:
- Abra o site e efetue o login
- Acesse a página inicial

Funcionalidade 6 - Exibição de comentários
Permite a visualização de comentários
- Estrutura de dados: Contatos
- Instruções de acesso:
- Estar na página de Informações da receita (Funcionalidade 3)
- Clicar no botão comentários

Funcionalidade 7 - Cadastro de Comentários
Permite a inclusão, leitura, alteração e exclusão de comentários para o sistema
- Estrutura de dados: Contatos
- Instruções de acesso:
- Você deve estar autenticado no sistema
- Estar na tela de comentários (Funcionalidade 5)
- Realizar a ação desejada

Estruturas de Dados
Descrição das estruturas de dados utilizadas na solução com exemplos no formato JSON.
Apresente as estruturas de dados utilizadas na solução tanto para dados utilizados na essência da aplicação quanto outras estruturas que foram criadas para algum tipo de configuração
Nomeie a estrutura, coloque uma descrição sucinta e apresente um exemplo em formato JSON.
Estrutura de Dados - Alimentos
Registro de alimentos utilizados na montagem de dietas
{
"id": 1,
"nome": "Pão de sal",
"categoria": "café da manhã",
"calorias": "140",
"carboidratos": "28,5",
"proteínas": "4,1",
"quantidade": "50"
}
Estrutura de Dados - Receitas
Registro dos usuários do sistema utilizados para login e para o perfil do sistema
{
"id": 1,
"receita": "Pão com ovo",
"foto": "/assets/images/paocovo.jpeg",
"calorias": 252,
"categoria": "Lanche",
"quantidade": "100g",
"ingredientes": "1 pão, 2 ovos",
"proteina": 9.78,
"carbos": 29,
"gorduras": 10.5
}
Estrutura de Dados - Comentários
Registro de comentários
{
"nome": "Matheus",
"texto": "adorei a receita!",
"id": "0"
}
Módulos e APIs
Esta seção apresenta os módulos e APIs utilizados na solução.
Apresente os módulos e APIs utilizados no desenvolvimento da solução. Inclua itens como: (1) Frameworks, bibliotecas, módulos, etc. utilizados no desenvolvimento da solução; (2) APIs utilizadas para acesso a dados, serviços, etc.
Images and Icons:
- Pinterest - https://www.pinterest.com/
- FlatIcon - https://www.flaticon.com/
Scripts:
- Bootstrap 4 - http://getbootstrap.com/
FAQ
Perguntas e respostas comuns associadas ao projeto.
Apresente uma lista de perguntas e respostas comuns associadas ao projeto. Inclua perguntas como: (1) detalhes de acesso e uso do projeto; (2) informações sobre a instalação e configuração da aplicação; (3) questões sobre a manutenção da aplicação; (4) detalhes sobre a integração da aplicação com outros sistemas; (5) questões sobre a segurança da aplicação.
Referências Bibliográficas
Esta seção apresenta as referências bibliográficas utilizadas no projeto.
Apresente as referências bibliográficas utilizadas no projeto. Inclua itens como: (1) livros, artigos, tutoriais, etc. utilizados no desenvolvimento da solução; (2) links para sites, blogs, etc. utilizados no desenvolvimento da solução.
Alimentação e nutrição na atenção básica: reflexões cotidianas e contribuições para prática do cuidado