Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Item pricing #8

Closed
gergelyszabo94 opened this issue May 7, 2019 · 32 comments
Closed

Item pricing #8

gergelyszabo94 opened this issue May 7, 2019 · 32 comments
Assignees
Labels
enhancement New feature or request

Comments

@gergelyszabo94
Copy link
Owner

@gergelyszabo94 gergelyszabo94 commented May 7, 2019

Prices on items in inventories and trade offers.
Ideas:

  • Currency picking, keys as currency
  • Pick from price providers, csgobackpack, cs.money, loot.farm, etc.
  • Option to set your own prices.
  • Option to count sticker value - set a % that the sticker's price should be added.
  • Total inventory value
  • Total value of selected items
@gergelyszabo94 gergelyszabo94 added the enhancement New feature or request label May 7, 2019
@gergelyszabo94 gergelyszabo94 self-assigned this May 7, 2019
@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented May 9, 2019

@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented May 9, 2019

@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented May 13, 2019

@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented May 25, 2019

Might be needed to store the prices localy in a "proper" database instead of simply in chrome.storage.local https://developers.google.com/web/ilt/pwa/working-with-indexeddb

@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented May 25, 2019

@gergelyszabo94 gergelyszabo94 added this to In progress in Kanban Board Jun 30, 2019
@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented Jun 30, 2019

04e1202

@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented Jun 30, 2019

41f6b87

@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented Jun 30, 2019

5b6ac2d

gergelyszabo94 added a commit that referenced this issue Jul 2, 2019
gergelyszabo94 added a commit that referenced this issue Jul 4, 2019
@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented Jul 6, 2019

267fd1e

@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented Jul 7, 2019

efb0358

@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented Jul 7, 2019

The price scraping script is about finished in terms of functionality.
I will probably change it up a bit later, but the functionality won't change much.

@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented Jul 8, 2019

The Lambda function is set to run every night and update:
https://prices.csgotrader.app/latest.json
And archive that day's data in this path:
https://prices.csgotrader.app/YYYY/MM/DD/prices.json

@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented Jul 10, 2019

Added pricing provider info as enums - these will be used in the options menu.
fe12f37

@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented Jul 11, 2019

The latest exchange rates the extension will use are available at:
https://prices.csgotrader.app/exchange_rates.json
It auto-updates every 3 hours and also archives in this path format:
https://prices.csgotrader.app/YYYY/MM/DD/exchange_rates.json

@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented Jul 13, 2019

6a2067a

@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented Jul 13, 2019

4706bcd
The latest price and exchange rate path was modified to:
https://prices.csgotrader.app/latest/prices.json
https://prices.csgotrader.app/latest/exchange_rates.json

@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented Aug 11, 2019

I added a prices page here: https://csgotrader.app/prices
It explains how the prices are calculated and served.

gergelyszabo94 added a commit that referenced this issue Aug 12, 2019
@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented Aug 12, 2019

image

@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented Aug 13, 2019

The average market prices from csgobackpack are not always reliable.
I might implement my own market price scrapping.
The architecture would look something like:

  1. A master list of all marketable CS:GO items in S3 or DynamoDB. It can be easily extracted from the existing pricing info.
  2. A lambda function that puts all the items in an SQS queue. Each item is it's own message.
  3. A lambda function that is subscribed to the queue, makes the API call towards Steam to get the market info then stores the result in DynamoDB or S3.
  4. The price scraper script modified to use this pricing data instead or in addition to current sources.

As usual, if there are throttling issues from Steam's side it could get much more complicated...

@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented Aug 14, 2019

image

@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented Aug 14, 2019

It needs SIH or navigating to at least to the 4th page to trigger the full inventory's loading.
I will work on #47 tonight to eliminate the need for SIH in inventories. (except the occasional mass listing which is still not planned to be implemented in the near future.

@gergelyszabo94
Copy link
Owner Author

@gergelyszabo94 gergelyszabo94 commented Aug 17, 2019

Comment to possible own market prices scraping implementation:
https://steamcommunity.com/market/pricehistory/?appid=730&market_hash_name=P250%20%7C%20Asiimov%20(Field-Tested)
With calls like this it's possible to extract more detailed information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant