Giter Club home page Giter Club logo

price-level-calculator's Introduction

price-level-calculator's People

Contributors

dependabot[bot] avatar hirano-satoshi avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

price-level-calculator's Issues

Proofreading

Proofreading is in progress with a contributor. Some corrections have been reflected and deployed.

Exchange rates are ignored

Although exchange rates are fetched, they are not used during conversion from Luncho to local currencies. Luncho calculation reflects only PPP values.

To reflect the latest exchange rate of a currency in a country, we need the exchange rate at the moment when International Comparison Program measured the price levels in the country.

In STATISTICAL APPENDIX of World Economic Outlook 2021, they wrote:

  • Real effective exchange rates for the advanced economies are assumed to remain constant at their average levels measured during January 18, 2021–February 15, 2021. For 2021 and 2022 these assumptions imply average US dollar–special drawing right (SDR) conversion rates of 1.445 and 1.458,

So, we have to calculate the average exchange rate of the currency during the period above mentioned. And we can reflect the latest exchange rate against the average exchange rate.

We need a database. The current implementation runs on Google App Engine Standard (GAE) but it should run on any Docker container. If I use free Datastore on GAE, it won't run on other environment.

Save the last exchange rate on GCS

I wrote a local file version and it is commented out for new. And some test code is also commented out.

def test_server_api_error():
    #XXX if os.path.exists(conf.Last_Fixer_Exchange_File):
    #    os.remove(conf.Last_Fixer_Exchange_File)

APIs fail when failure of fetching Forex data at startup

"validation errors for LunchoData" occurs and requests fail with 500 error.

That occurs when requests.get() for a Forex data provider does not return response.ok.
The requests.get() in ppp_data.update() is called from main.init() which is called from post_worker_init() in configure_gunicorn.py.

Such failure may occur temporarily or permanently with the shutdown of the provider.

We have to save the last forex data to a file and load it if the get() fails.

  • write a test
  • lock global data
  • save the last forex data
  • load it
  • log failure of the fetching of the forex data.
  • test

Add lunch map

It would be nice if the single page has a map of the country with many lunch images with Luncho prices.

  • A location based image service API for lunch images
    • test
    • code
  • Leaflet with OpenStreet map on the single page
  • Login with Land ID
  • The entry page

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.