Skip to content

IsaacdAlmeida/recipes-app

Repository files navigation

Recipes App

Introdução

O projeto consiste em desenvolver uma aplicação em react que simule um app mobile de receitas, nela a pessoa usuária pode fazer login, escolher diversas receitas de pratos e drinks, escolher por categoria, nacionalidade, favoritar a receita que mais gostar, ver os ingredientes da receita e visualizar o perfil, com as receitas favoritas e já feitas.

Sumário

Tecnologias utilizadas

Front-End: JavaScript, React, Context API e RTL.

Context API

É uma funcionalidade do React que permite compartilhar o estado entre diversos componentes sem utilizar Props, evitando prop drilling. Optamos por usar essa tecnologia no lugar de Redux para entender melhor os conceitos desse assunto, uma vez que já tínhamos feito dois projetos com Redux e somente um com com context API.

Testes

Fizemos diversos testes utilizando a react-testing-library, não conseguimos cobrir 100% de nossa aplicação, mas conseguimos cobrir boa parte do código com cobertura de testes.

Metodologias Ágeis

Os métodos ágeis são uma alternativa à gestão tradicional de projetos. A utilização de metodologias ágeis nesse projeto foi crucial, foi um projeto com 87 requisitos e 5 pessoas trabalhando em grupo, utilizamos o quadro kanban para observar o andamento das tasks que foram distribuídas, definimos as metas e os combinados na primeira reunião e nas daily meetings acompanhamos o andamento do projeto de cada pessoa. Também fizemos pair programming em alguns requisitos.

kanban-board

Nosso quadro Kanban durante o desenvolvimento

Aprendizados

Nosso grupo foi capaz de desenvolver uma aplicação em React que consome duas APIs com diversos endpoints, elas retornam uma lista de ingredientes de diversas pratos e drinks, sendo possível fazer filtro por nacionalidade, ingredientes, procurar receitas pelo nome, favoritar a receita, entrar na página de detalhes da receita e ver o passo a passo, bem como visualizar um vídeo de como preparar a receita.

Como dito anteriormente, utilizamos o context API do react em detrimento do Redux para gerenciar o estado, as duas opções nos atendiam perfeitamente, mas optamos pelon uso do context, pois, à época, o conhecimento nessa ferramenta ainda não estava consolidado. Aproveitamos esse projeto para fazer o uso dele, dessa forma conseguimos consolidar o conhecimento com o context.

Também aprendemos a trabalhar em equipe, eu diria que a maior dificuldade desse projeto não foi técnica, mas sim saber como organizar o trabalho em equipe, tivemos 10 dias de prazo para entrega do projeto e no quinto dia terminamos toda parte técnica da aplicação, restando 5 dias para aplicar a estilização, remover alguns bugs e otimizar a aplicação. Diria que trabalhar em equipe foi a parte mais divertida desse projeto, trabalhar com pessoas com pensamentos e soluções diferentes das quais imaginei foi muito proveitoso, pude aprender bastante com meus colegas de equipe.

Instruções para utilizar a aplicação

Para utilizar a aplicação você precisará ter o node e npm instalados.

Após instalar o node e npm, você precisará usar o comando npm install para instalar as dependências do repositório.

Você poderá utilizar o comando npm start para exibir a página da aplicação.

A aplicação foi desenvolvida para simular um aplicativo mobile, dessa forma você pode utilizar a extensão Mobile Simulator para google chrome.

Preview da Aplicação

login

Tela de Login


foods

Tela Principal


drinks

Tela de Drinks


explore

Tela de explorar ingredientes


profile

Tela de Perfil


Histórico de commits

Você pode verificar todo o histório de commits para saber como a aplicação foi desenvolvida passo a passo, todos eles foram feitos com base no guia de Conventional Commits, mantendo uma organização e descrição objetiva do que foi feito a cada mudança!