ccuffs/uffs-ru-scraping

Biblioteca para obter dados dos restaurantes universitários da UFFS de forma automatizada

v1.0.1 2022-09-19 12:16 UTC

This package is auto-updated.

Last update: 2024-04-21 14:50:48 UTC


README

logo.png
68747470733a2f2f696d672e736869656c64732e696f2f6d61696e74656e616e63652f7965732f323032323f7374796c653d666f722d7468652d6261646765 68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f6363756666732f74656d706c6174652f63692e756666732e63633f6c6162656c3d4275696c64266c6f676f3d676974687562266c6f676f436f6c6f723d7768697465267374796c653d666f722d7468652d6261646765

uffs-ru-scraping

Um pacote PHP para raspagem dos cardápios dos Restaurantes Universitários da Universidade Federal da Fronteira Sul. A ideia desse pacote é permitir que APIs sejam criadas com informações sobre o cardápio dos RUs dos campi.

IMPORTANTE: coloque aqui alguma mensagem que é muito relevante aos usuários do projeto, se for o caso.

✨ Features

  • Obtenção automática de informações dos cardápios através da listagem no site da UFFS;
  • Obtem os cardápios publicados no site pela data. ex: 18/07/2022;
  • Obtem cardápios publicados pelo dia da semana. ex: segunda;
  • Dados estruturados para facilitar a manipulação.

🚀 Começando

1. Adicione o pacote ao seu projet

Na pasta raiz do seu projeto PHP, rode:Geralmente o primeiro passo para começar é instalar dependências para rodar o projeto. Rode:

composer require ccuffs/uffs-ru-scraping

Todas as dependências serão instaladas.

2. Obtenção dos Cardápios

Para obtem qualquer cardápio do RU, você utilizará a classe UniversityRestaurantUFFS. Um objeto dessa classe possui diversos métodos para obtenção de cardápios.

O mais simples é a obtenção de todos os cardápios disponíveis no site através do link ou nome do campus:

$ur = new \CCUFFS\Scrap\UniversityRestaurantUFFS();
$menu = $ur->getMenuByCampus("https://www.uffs.edu.br/campi/chapeco/restaurante_universitario");

//ou

$menu = $ur->getMenuByCampus($ur->campus["chapeco"]));

Nesse caso, $menu será um vetor de chave/objeto onde a chave será a data no formato d/m/Y e o objeto será um vetor com os elementos que compõe o cardápio no dia específico:

Array
(
    [18/07/2022] => Array
        (
            [0] => Alface

            [1] => Repolho branco

            [2] => Cenoura cozida

            [3] => Arroz branco

            [4] => Arroz integral

            [5] => Feijão-preto

            [6] => Farofa de cenoura c/ batata palha

            [7] => Cubos suínos assado c/ legumes

            [8] => PTS refogada

            [9] => Fruta
        )
...

    [15/07/2022] => Array
        (
            [0] => Alface

            [1] => Acelga 

            [2] => Beterraba

            [3] => Arroz branco

            [4] => Arroz integral

            [5] => Feijão preto 

            [6] => Macarrão c/ tomate e manjericão (contém glúten)

            [7] => Cubos bovinos ao molho 

            [8] => PTS à chinesa

            [9] => Pudim de baunilha (contém lactose)
        )
)

2. Obtenção de Cardápio por dia ou dia da semana

Se você deseja obter o cardápio de um dia específico, basta utilizar o método getMenuByDate usando o link do cardápio e a data no formato d/m/Y como parâmetros:

$ur = new UniversityRestaurantUFFS();
$menu = $ur->getMenuByDate($ur->campus["chapeco"], '25/07/2022');

ou utilizando o método getMenuByWeekDay usando o link do cardápio e o dia da semana nos formatos seg, ter, qua, qui, sex como parâmetros:

$ur = new UniversityRestaurantUFFS();
$menu = $ur->getMenuByWeekDay($ur->campus["chapeco"], 'seg');

Nesses dois métodos, se não é encontrado o valor do dia especificado, ele retornará null.

O resultado desses métodos será semelhante à esse:

Array
(
    [0] => Alface
    [1] => Beterraba
    [2] => Abobrinha
    [3] => Arroz branco
    [4] => Arroz integral
    [5] => Feijão-preto
    [6] => Batata palha
    [7] => Estrogonoffe bovino (contém lactose)
    [8] => Estrogonoffe de grão-de-bico (contém lactose)
    [9] => Fruta
)

👩‍💻 Desenvolvimento

Se você pretende criar features novas, corrigir bugs ou afins, siga o passo a passo abaixo.

Clone o repositório:

git clone https://github.com/ccuffs/uffs-ru-scraping && cd uffs-ru-scraping

Instale as dependências:

composer install

Implemente o que for necessário e faça seus testes através do test.php:

php tests/test.php

🤝 Contribua

Sua ajuda é muito bem-vinda, independente da forma! Confira o arquivo CONTRIBUTING.md para conhecer todas as formas de contribuir com o projeto. Por exemplo, sugerir uma nova funcionalidade, reportar um problema/bug, enviar um pull request, ou simplemente utilizar o projeto e comentar sua experiência.

🎫 Licença

Esse projeto é licenciado nos termos da licença open-source MIT e está disponível de graça.

🧬 Changelog

Veja todas as alterações desse projeto no arquivo CHANGELOG.md.

🧪 Projetos semelhates