Coder Social home page Coder Social logo

gergelyszabo94 / csgo-trader-extension Goto Github PK

View Code? Open in Web Editor NEW
209.0 8.0 42.0 27.22 MB

CSGO Trader Browser Extension to help with CS:GO item trading, marketing and much more

Home Page: https://csgotrader.app

License: GNU General Public License v3.0

CSS 0.20% HTML 0.15% JavaScript 98.84% SCSS 0.81%
steam csgo browser-extension chrome-extension csgo-inventory steam-inventory steam-market steam-trading csgo-trading firefox-extension

csgo-trader-extension's Introduction

CSGO Trader Browser Extension

CSGO Trader is a browser extension for Chrome and Firefox that is designed to help with CS:GO trading. I started by adding functionality that Steam Inventory Helper lacked, but it already has SIH's most important features and much more.

Check out csgotrader.app for the list of features, feature showcasing, videos, etc.

Repo Structure

  • /extension - contains the browser extension's source code
  • /site - contains the csgotrader.app React site's source code
  • /publishing - contains marketing material

For more information about each part you can read the corresponding .md files.

Extension Install

Get it from your browser's marketplace:

Contribution

Check CONTRIBUTING.md

csgo-trader-extension's People

Contributors

antal-k avatar atalantus avatar builder-247 avatar cjavad avatar dependabot-preview[bot] avatar dependabot[bot] avatar dnsmits avatar gergelyszabo94 avatar godrums avatar gruczika avatar heartz66 avatar hexiro avatar kittenoncatnip avatar marvinhinz avatar moritzloewenstein avatar noahsmiths avatar o3ll avatar pjbaert avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

csgo-trader-extension's Issues

Item names always appearing in English

Reported by https://steamcommunity.com/profiles/76561198291133191/
Even if your browser/steam language is set to something other than English the item that is in focus in the inventory has an English name.
This bug was introduced when I changed the API request to English as some functionality was broken otherwise. For item quality can't be reliably determined when there are so many languages.
The fix should involve getting the name from the page. I have tried getting it from the elements, but it's unreliable. I am working on getting it from the page-context functions but hit some roadblocks.

Show item duplicate count

Show how many copies of an item someone has in their inventory. When an item is in focus (is display on the right side) there should be a number that represents the duplicate counts. Finding duplicates should happen when the inventory api request is made.

Currency converter in popup

Add a simple currency converter to the extension popup. The hard part about this is finding a free API. If there is no free one that is good consider implementing a serverless service that basically acts as a caching mechanism by requesting an API periodically and storing the result and only returns these stored results when requested from users.

Search on the options page

Put a searchbox in the top of the option page that allows users to quickly find the option they are looking for.

Scammer highlighting optional

I checked the uninstall survey feedback and one guy wrote that it's annoying to see the big red warning signs when visiting a scammer's profile. Apparently they want to see "beautiful profiles" instead. Making this feature optional.

Make csgolounge and csgotraders permissions optional

Any kind of permission can be a turn-off for users. Since they are not core functionality these two could be made optional making the installation less-scary. Implement as optional permissions the same way "tabs" is already done - request access when the feature is turned on in the options menu.

Configurable quick replies in webchat

Add messages that could be quickly sent to chat partners.
Set default ones like "Hey! What is up?" and other general ones.
Allow user to set their own custom quick replies.

This is a feature I would use dozens if not hundreds of times a day, I have some of my own messages that I use, but I have to copy-paste them at this point.

Complete localization

Market pages and offers are now localized, add localization to inventories, extension pages, etc.

whatstradelocked.com style filters in inventories

By default steam inventories have extensive filters, but it's so extensive that it's hard to find what you are looking for and it's so hidden I bet many people don't know they exist. Add icons that apply filters.

Item pricing

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

Notes on specific items

Provide additional information to users about "special" items. Like point out the hydra keys are less expensive than other keys. Mark items if there is a possibility for special patterns on them with links to guides. Adding notes is already supported by the extension, but the task of writing up notes remains open. You don't need coding knowledge to help out with this one.

Trade offers productivity improvements

These are probably mostly relevant to my advanced use-case. Optionally warnings could be ignored automatically when accepting offers. (ready without warning). The other party's inventory should come in focus when an offer is opened. Etc.

Sticker condition NAN%

When stickers are not worn at all - condition should be 100% they appear as NAN% instead.

Optimize "run_at" properties

All content scripts run at "documents_idle" at the moment. Experiment with running some of them earlier in the page-loading phase for better performance and user experience.

Language picking in options

Since internationalization is supported, users should be able to change the extension's language to something other than the browser's.

Notify on good offers

Add functionality that checks incoming offers and if it seems profitable then notifies the user.
There could be a bunch of options like how much overpay (in value or %) the notification threshold should be and how the user should be notified. Implementing pricing is a prerequisite for this.

Lock items that you don't wish to trade

This is probably pretty specific to me, but it's hard to keep track of my items. If someone wants something it would be nice if I could "lock" it or mark it in some way so when someone sends an offer for it I think twice about accepting it.

Info about offer sender

Add info about the offer's sender in the tradeoffers page or in the offer pages as well.
If they are friends, their inventory value, if traded before (and how many times), steamrep status.
Add option to ignore/accept/block friend request from them.

Warn of possible account hijacking

Warn the user that they might be hacked if an offer they are sending gets canceled or something they tried accepting gets declined. The way this could be implemented is still quite hazy in my head, but something useful could turn out of this that would save some user's items from getting scammed away.

Generate list of inventory items

Generate list of inventory items that could be posted on steam trading forums, in Facebook groups, etc. With option to filter out cheap items, etc.

Useful sites/tools section

There should be a page with links to useful stuff and a bit of explanation of what they do.
Example: csgo.gallery, MrInka's stuff.

Send user inventory queries to DB

This DB could be useful in the future for features like: item db lookups, allow users to find items that they want, track item ownership, track inventory value, etc.
The implementation should be serverless:

When a user requests an inventory from steam the info could be posted right away to the API. The API should be API Gateway proxying the request to a Lambda (if want to be done quick Node.js, if want to learn/practice something new then Python). The Lambda can take the inventory contents and put them in a DynamoDB table. Since it's pretty simple, a Lambda might not even be needed: https://aws.amazon.com/blogs/compute/using-amazon-api-gateway-as-a-proxy-for-dynamodb/

Make sure to only store data that is useful and relevant.

Match people who want to trade

Allow users to create trades in a {H] [W] manner. Match users, allow for counters with comments. Essentially csgolounge, just better.

Keep trade offers same-size

There is a very annoying thing on the steam tradeoffers page. When you decline an offer it becomes larger and the page scrolls a bit. It's very annoying if you are already trying to declined the next one and open it instead. Look into ways of either keeping it the same size when decline or making them larger prior to the decline.

Profile permalink

Add a dropbdown option on profiles that copies permalinks to clipboard.

cs.money screenshoting and 3D inspect

Check if its possible to request screenshots and 3D inspect from cs.money without visiting the site and owning the item. Add it to the extension.

Item whishlist - notify if you get an item someone wants

This again is a features that might only be useful for me and some other big traders. People often message me telling them to notify them when I get a specific item they want. I immediately forget these request upon closing the chat though. The details of how this should be done - especially that it's useful for more people is yet to be figured out.

Highlight extension users/developers

Highlight other extension users and developers (in a different way), like color their names (golden class from Holiday sale). It would be a fun Easter egg kind of thing.

Notify when friend list is getting close to full

Yet again a problem that is probably limited to me and a couple of more guys, but I don't want to have a full friend list and not know about it - causing me to miss out on deals. Implement a feature that periodically checks how many friend you have and if it hits a threshold notifies you.

Enhanced in-inventory market popup

When clicking sell in your inventory a popup appears. The charts are uselessly small. Make it larger and include the first few listings that very relevant when you are selling something. This way you won't have to open an item's page when selling.

Find market listing's seller

Look into ways to find who is selling a specific item on the community market. I remember finding some method that allowed finding people by their avatar somehow.

Move TODO items to Github Issues

I have been keeping track of bugs and feature ideas in a TODO file. Move all of them to github issues for better organization and to invite collaborators.

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.