/restaurant-orders

Uma ferramenta de construção de cardápios que gera cardápios de acordo com a disponibilidade de produtos no estoque e considerando itens com possíveis restrições alimentares

Primary LanguagePython

Restaurant Orders 🍴

O Restaurant Orders é uma ferramenta de construção de cardápios que gera cardápios de acordo com a disponibilidade de produtos no estoque e considera itens com possíveis restrições alimentares. Neste projeto foram implementadas classes e testes visando assegurar o correto funcionamento do código. Estes serão descritos a seguir:

  • A classe Dish representa um prato do cardápio e é utilizada para criar objetos que contêm informações sobre um prato específico, incluindo seu nome, preço e ingredientes.

  • A classe Ingredient é responsável por representar um ingrediente do cardápio, contendo o nome do ingrediente e a lista de restrições associadas a ele.

  • A classe MenuData é responsável por carregar os dados do cardápio a partir de um arquivo externo recebido como parâmetro no momento que a classe é instanciada e criar objetos Dish com suas respectivas informações de ingredientes e quantidade.

  • A classe MenuBuilder é responsável por controlar o inventário dos ingredientes disponíveis, criar e gerenciar o cardápio.

  • A classe InventoryMapping é responsável mapear e controlar o inventário de ingredientes.

  • Foram desenvolvidos testes para a classe Ingredient e para a classe Dish. Eles verificam se a classes podem ser instanciadas corretamente de acordo com a assinatura esperada, e se os seus métodos e atributos funcionam conforme o esperado.

Objetivo

Esse projeto foi desenvolvido visando praticar o conceito de Hashmaps através das estruturas de dados Dict e Set do Python, além de aprimorar meus conhecimentos de programção orientada a objetos e conhecimentos de teste de software.

Tecnologias utilizadas

Python Pytest

Instalação e execução

Caso queira ver mais sobre o projeto em sua maquina local siga as etapas:

  1. Clone o repositorio
  git clone git@github.com:amanda-vlopes/restaurant-orders.git
  1. Entre no diretório do projeto
  cd restaurant-orders
  1. Crie e ative o ambiente virtual
  python3 -m venv .venv && source .venv/bin/activate

O que é?

O Python oferece um recurso chamado de ambiente virtual que permite rodar em sua maquina diferentes tipos de projetos em diferentes versões de bibliotecas, sem nenhum conflito.

  1. Instale as dependências
  python3 -m pip install -r dev-requirements.txt