/restaurant-orders

Manipulação de dados utilizando a biblioteca pandas para a construção de cardápios

Primary LanguagePython

Pedidos de restaurantes

restaurant-orders.mp4

Sobre o projeto

Aplicação que gera cardápios a partir de arquivos .csv, que contém receitas e ingredientes. Os cardápios podem ser gerados considerandos possíveis restrições alimentares e também a disponibilidade dos ingredientes em estoque. E a cada pedido realizado, os ingredientes são consumidos.

Também é disponibilizada uma API para consulta dos cardápios e realização de pedidos.

Tecnologias utilizadas

  • Python - Linguagem de programação interpretada de alto nível.
  • Pytest - Framework de testes em Python.
  • pandas - Biblioteca de software escrita para a linguagem de programação Python para manipulação e análise de dados.
  • FastAPI - Framework para construção de APIs com Python.

Funcionalidades

  • Ler arquivos .csv de receitas e ingredientes.
  • Listar receitas com seus preços de venda e ingredientes.
  • Listar ingredientes com suas restrições.
  • Consumir ingredientes de uma receita.

Instalação

# Clonar Projeto
$ git clone git@github.com:lucas-da-silva/restaurant-orders.git

# Entrar no diretório
$ cd restaurant-orders

# Criar ambiente virtual e ativá-lo
$ python3 -m venv .venv && source .venv/bin/activate

# Instalar dependências
$ python3 -m pip install -r dev-requirements.txt

# Subir a API
$ uvicorn app:app
# Acesse a rota /docs para ver a documentação gerada pelo FastAPI

# Executar testes
$ python3 -m pytest

Estrutura do projeto

$PROJECT_ROOT
|   # Arquivos estáticos de receitas e ingredientes
├── data
|   # Arquivos Python da aplicação
├── src
|   |   # Classes de modelo para representação de dados
│   ├── models
|   |   # Classes de serviço para manipulação de dados
│   └── services
|   # Arquivos de testes
└── tests
    |   # Testes da classe Dish
    ├── dish
    |   # Testes da classe Ingredient
    └── ingredient

Autor