/Project-Recipes-App

Recipes App é uma aplicação desenvolvida em React.js que acessa uma API de receitas de comidas e bebidas e possibilita ao usuário buscar, favoritar e salvar o progresso da elaboração das receitas.

Primary LanguageJavaScript

Bem-vindo ao projeto 007 Foods

007 Foods é uma aplicação web em React.js produzida em grupo, que acessa a base de dados de duas APIs de receitas, uma de comidas e outra de bebidas, criando uma interface de busca por receitas culinárias intuitiva e amigável, permitindo a visualização dos detalhes das receitas, o favoritamento e o compartilhamento com outras pessoas. Além disso, oferece um sistema de exploração, aonde é possível visualizar receitas por nacionalidade, por ingrediente e encontrar sugestões aleatórias de pratos e bebidas.

Informações para utilizar a aplicação no deploy
  • Para logar, o email deve estar no padrão user@email.com, e a senha ter mais do que 6 caracteres.

Sumário

Visualização

Visualização para dispositivos móveis

A aplicação foi desenvolvida com design responsivo e pensada para ser utilizada em dispositivos móveis. Sugerimos a vizualiação em resolução 360x640 pixels para a melhor experiência possível.

appReceitas

Contexto

A aplicação 007 Foods é uma ferramenta que acessa as bases de dados de receitas de comidas e bebidas, permitindo ao usuário:

  • Fazer login;
  • Buscar por receitas por nome, ingrediente, primeira letra, tipo de drink ou refeição;
  • Visualizar detalhes das receitas, com vídeo de execução, sugestões de acompanhamento e informações nutricionais;
  • Favoritar ou compartilhar receitas;
  • Acessar a seção de receitas prontas e favoritas após o login;
  • Explorar as receitas por nacionalidade ou ingrediente, ou encontrar sugestões aleatórias de pratos e bebidas;
  • Utilizar o Local Storage para manter informações das receitas favoritas, iniciadas e finalizadas.

Tecnologias e Ferramentas Utilizadas

Este projeto utiliza as seguintes tecnologias e ferramentas:

  • React.js | Biblioteca para criar interfaces de usuário.
  • Styled Components | Biblioteca para estilização do CSS.
  • API de comidas | API utilizada para obter informações sobre receitas de comidas.
  • API de bebidas | API utilizada para obter informações sobre receitas de bebidas.
  • Context API | API utilizada para gerenciamento de estado.
  • Trello | Ferramenta de gerenciamento de tarefas.

O React.js foi escolhido por ser uma das bibliotecas mais populares e amplamente utilizadas para criar interfaces de usuário. Além disso, o React.js é fácil de aprender e possui uma grande comunidade de desenvolvedores, o que torna mais fácil encontrar soluções para problemas comuns. O Styled Components foi escolhido porque permite que os desenvolvedores escrevam o CSS em formato de componente, o que torna o código mais legível e fácil de entender. As APIs de comidas e bebidas foram escolhidas por fornecerem informações detalhadas e variadas sobre receitas, o que enriquece a experiência do usuário na aplicação. A Context API foi utilizada para gerenciamento de estado, permitindo que informações importantes da aplicação sejam compartilhadas entre diferentes componentes, sem a necessidade de passá-las manualmente através de props. Isso torna o código mais limpo e fácil de entender. O Trello foi utilizado para gerenciamento de tarefas, seguindo metodologias ágeis durante o desenvolvimento.

Instalação e Execução

Download do projeto

git clone git@github.com:imsamuelcovalero/Project-Recipes-App.git

Instalar dependências

cd Project-Recipes-App
npm install

Rodar a aplicação

cd Project-Recipes-App
npm start

Notas

A aplicação foi desenvolvida utilizando o conceito de mobile first, ou seja, a interface foi projetada primeiramente para dispositivos móveis.

Git, GitHub e Histórico de Commits

Este projeto utilizou a Especificação de Commits Convencionais, com alguns tipos da convenção Angular. Além disso, foi utilizado o pacote conventional-commit-cli para ajudar a seguir a convenção de commits. É importante utilizar a convenção de commits em projetos para manter o histórico de commits organizado e facilitar a leitura e o entendimento do que foi desenvolvido.

No desenvolvimento da aplicação foi realizado utilizando o Git para controle de versão e o GitHub como repositório remoto. Foram criadas branches para cada funcionalidade implementada e, posteriormente, mergeadas à branch principal.

Metodologias Ágeis

Durante o desenvolvimento deste projeto, foram utilizadas metodologias ágeis, que são práticas que valorizam a interação e colaboração entre os membros de uma equipe de desenvolvimento, visando uma entrega mais rápida e eficiente do projeto. A utilização dessas práticas é especialmente importante em projetos em grupo, pois ajuda a manter a equipe alinhada e a evitar atrasos e retrabalhos desnecessários. Para saber mais sobre as metodologias ágeis, confira o Manifesto Ágil.

Lint

  • O projeto foi desenvolvido seguindo os padrões de Clean Code especificados pelo Lint da Trybe.