Giter VIP home page Giter VIP logo

lunch_guy's People

Contributors

darnel avatar tomasbedrich avatar tomaskadlec avatar v154c1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

lunch_guy's Issues

False meal

Today, I see a false meal in Na Urale list:

zdarma. Nové stránky na www.drest.cz  - Kč

Make development easy

It would be great to provide Dockerfile || docker-compose to make developement and testing less painful.

UI redesign

  • better visual separation of menus
  • separate page with terms and conditions
  • use KNP Menu for building navigation
  • redesign application menus

FR GPS coords for restaurants

I have feature request, would you be willing to add GPS coors to restaurants, for several reason such as quick lookup or navigation on mobile platform?

Thanks, and keep the good work.

RESTful API

Allow others to use the app as a service to build another services. Start simply with

  • get configured restaurants (proposed URL /api/v1/restaurants)
  • get an information about a restaurant (proposed URL /api/v1/restaurants/{restaurantID})
  • get current menu of a restaurant (proposed URL /api/v1/restaurants/{restaurantID}/menu)

Improve UX by tabs

It would be great to have tabs with names of the restaurants on the top of the page. There is too many information on the page and I do not need to have two column layout since I never compare the restaurants.

[cli] --output slack fails - configuration is missing

If command is called as follows

bin/console d2s:run --env=prod --output slack 'Na Urale'

it fails with an exception:

  [RuntimeException]                                             
  Options d2s.output.slack.{uri,username,channel} are required.  


Exception trace:
 () at src/Net/TomasKadlec/d2sBundle/Service/Output/Slack.php:44
 Net\TomasKadlec\d2sBundle\Service\Output\Slack->send() at src/Net/TomasKadlec/d2sBundle/Service/Output.php:57
 Net\TomasKadlec\d2sBundle\Service\Output->send() at src/Net/TomasKadlec/d2sBundle/Service/Application/Application.php:128
 Net\TomasKadlec\d2sBundle\Service\Application\Application->output() at src/Net/TomasKadlec/d2sBundle/Command/RunCommand.php:61

500 Internal server error

While attempting to retrieve latest version of the menu using refresh button next to the date, I keep getting 500 internal server error. F5 refreshing works fine.
image

It looks like problem with the deleteAction.

Kulatak restaurant won't load

Obedar doesn't load menu for Kulatak restaurant. It look like they have changed their website, so it might be necessary to rewrite the parser for Kulatak.

Add address of restaurant under name

Address of restaurant is quite important.
The perfect feature should be link to google/seznam maps with. Something like.

Na Urale
Address of restaurant {link google.maps} {link seznam maps} {copy to clipboard}

U Pětníka is missing "Hlavní jídla" in JSON payload

Hi!
Restaurant U Pětníka is missing array with "Hlavní jídla" or similar, the meals are actually marked as "Polévky".

Using:
curl -X GET "http://obedar.fit.cvut.cz/obedar/api/v1/restaurants/U Pětníka/menu.json"

Recieved payload:

{
  "links": {
    "self": "http://obedar.fit.cvut.cz/obedar/api/v1/restaurants/U%20P%C4%9Btn%C3%ADka/menu"
  },
  "data": {
    "type": "menu",
    "id": "U Pětníka",
    "attributes": {
      "title": "U Pětníka",
      "cached": "2016-05-24T01:21:48+02:00",
      "content": {
        "Polévky": [
          [
            "Silný hovězí vývar se zeleninou a bramborovými nočky",
            29
          ],
          [
            "Šumavská bramboračka",
            29
          ],
          [
            "Španělské studené gaspachio",
            39
          ],
          [
            "Červenou cibulí zdobený lehce pikantní hovězí gulášek s houskovým knedlíkem",
            109
          ],
          [
            "Dlouze tažená hovězí líčka na českém špeku s rozmarýnem, mačkané brambory s jarní cibulkou",
            109
          ],
          [
            "S hrstkou divokého koření pečená vepřová plec a dušené hlávkové zelí, bramborový knedlík",
            99
          ],
          [
            "V pivní tomatové marinádě 24 hodin naložená vepřová masová žebra, mačkané brambory s jarní cibulkou",
            99
          ],
          [
            "Hamburger z kančího masa s křupavou slaninou v bulce, opékané brambory",
            119
          ],
          [
            "Grilovaný filet z okouna s citronovou hrubou mořskou solí, podávaný na trhaných salátech s balsamikovým octem a cherry rajčátky s rozpečenou bagetkou",
            119
          ],
          [
            "Vaječná omeleta ze tří slepičích vajíček s listovým špenátem, vař. brambor",
            99
          ],
          [
            "V tradičním trojobalu smažený sýr s plísní na povrchu, vařené brambory a domácí tatarská omáčka",
            99
          ],
          [
            "Krůtí nudličky s chilli papričkami, fazolkami, paprikou a cibulí, dušená jasmínová rýže",
            89
          ],
          [
            "Vepřové panenské biftečky s pepřovou omáčkou, pečená brambora ve slupce",
            149
          ],
          [
            "Kuřecí kapsička nadívaná slaninou a olomouckým tvarůžkem, bramborové hranolky",
            149
          ]
        ],
        "Menu": [
          [
            "Šumavská bramboračka",
            "-"
          ],
          [
            "S hrstkou divokého koření pečená vepřová plec a dušené hlávkové zelí, bramborový knedlík",
            99
          ]
        ]
      }
    },
    "relationships": {
      "restaurant": {
        "links": {
          "self": "http://obedar.fit.cvut.cz/obedar/api/v1/restaurants/U%20P%C4%9Btn%C3%ADka"
        }
      }
    }
  }
}

API is not working

Trying to reach previously working endpoints and getting 404

╰─○ curl -X GET http://obedar.fit.cvut.cz/obedar/api/v1/restaurants.json
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>An Error Occurred: Not Found</title>
    </head>
    <body>
        <h1>Oops! An Error Occurred</h1>
        <h2>The server returned a "404 Not Found".</h2>

        <div>
            Something is broken. Please let us know what you were doing when this error occurred.
            We will fix it as soon as possible. Sorry for any inconvenience caused.
        </div>
    </body>
</html>

Refactor UI

  • Separate UI into its own bundle.
  • Access application using an adaptor (data may be retrieved using RESTapi in future)

Cookie consent

Area selection

Area selection feature allows to filter out menus irrelevant to the user. Area selection may be automatic using geolocation capabilities of a browser or manual (user input). Afterwards checks must be run to determine if a restaurant does or does not belong to the selected area.

This feature requires addresses of restaurants to be given/parsed.

Location can be cached for a long time.

Most important thing regarding this feature it that it allows to run the application for different areas!

implement d2c:run -- all

It'l be greate to run ./bin/console d2c:run -- all instead of writing list of all restaurants.

unknown reffered date

There is no timestamp on the page determining validity of the menu, so there is no way how to distinguish which day menu is shown (especially around midnight).

Client configuration

Add support for personalization of the web app based on the information stored in cookie(s).

  • generic support
  • add/remove restaurants

Runtime configuration

The application has static configuration which is loaded on startup. However, it would be nice to allow configuration of several features at runtime, to list a few of them

  • user-configured slack channel, selected menus and time when menus should be send
  • save randomly generated restaurant colors,

A storage and interface to it is required. A simple file or a filesystem structure should be sufficient (configuration will be re/loaded when it is entered or application is restarted). It should be handled by abstract filesystem (as League/Flysystem)

Allow user to trigger cache invalidation

Some restaurants do not specify date their menu is valid for and/or parsers do not validate them. It is necessary to provide a way to invalidate data stored in cache and reload it from the web.

Outdated menu

Sometimes happens that it api doesn't load new menu and leaves old one there. Usually happens with U Pětníka. Like today.
image
image

Use CI/CD

Obedar is IMHO perfect project to test out CI/CD setup.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.