All Projects → DimensionDev → PriceDoge

DimensionDev / PriceDoge

Licence: GPL-3.0 License
A Chrome extension for price comparison

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to PriceDoge

Particl Desktop
The GUI application for Particl Markeplace and PART coin wallet. A decentralized peer to peer marketplace –free, secure, private, untraceable.
Stars: ✭ 131 (+95.52%)
Mutual labels:  p2p, e-commerce
Metastream
Watch streaming media with friends.
Stars: ✭ 1,926 (+2774.63%)
Mutual labels:  p2p, browser-extension
discussify-browser-extension
Discussify's browser extension app
Stars: ✭ 36 (-46.27%)
Mutual labels:  p2p, browser-extension
rfc
Modular p2p messaging stack, with a focus on secure messaging.
Stars: ✭ 81 (+20.9%)
Mutual labels:  p2p
inDoors
Chrome/Firefox extension that displays companies' Glassdoor ratings on LinkedIn and other job sites
Stars: ✭ 33 (-50.75%)
Mutual labels:  browser-extension
paperslip
share hard-to-transmit snippets with easy-to-pronounce names using dht magic
Stars: ✭ 37 (-44.78%)
Mutual labels:  p2p
hashnode-browser-extensions
Google chrome & Mozilla firefox browser extensions for Hashnode
Stars: ✭ 20 (-70.15%)
Mutual labels:  browser-extension
P2P-DPlayer
DPLayer powered by CDNBye P2P Engine
Stars: ✭ 63 (-5.97%)
Mutual labels:  p2p
word-discoverer
📖 Chrome Extension: Word Discoverer
Stars: ✭ 135 (+101.49%)
Mutual labels:  browser-extension
Layr
A decentralized (p2p) file storage system built atop Kademlia DHT that enforces data integrity, privacy, and availability through sharding, proofs of retrievability, redundancy, and encryption, with smart-contract powered incentive scheme
Stars: ✭ 90 (+34.33%)
Mutual labels:  p2p
linguist
Linguist is a powerful browser extension for translate pages and text, which are ready to replace your favorite translate service
Stars: ✭ 21 (-68.66%)
Mutual labels:  browser-extension
Wudooh
Browser extension that allows Arabic script modifications for clarity and customization
Stars: ✭ 43 (-35.82%)
Mutual labels:  browser-extension
weapp-clover
由零打造的,基于taro,zoro的电商小程序实战项目
Stars: ✭ 77 (+14.93%)
Mutual labels:  e-commerce
Spider-Sense
A browser extension to monitor your spiders deployed on Scrapy Cloud.
Stars: ✭ 15 (-77.61%)
Mutual labels:  browser-extension
reddit-news
📰 simple browser extension that shows recent news from reddit.com
Stars: ✭ 46 (-31.34%)
Mutual labels:  browser-extension
zeronet-tracker
Simple, robust, ZeroNet tracker (client & server) implementation
Stars: ✭ 23 (-65.67%)
Mutual labels:  p2p
P2P-CKPlayer
嵌入P2P引擎的CKPlayer,视频网站省流量&加速神器
Stars: ✭ 49 (-26.87%)
Mutual labels:  p2p
facebook adblock
An open-source Ad Blocker for Facebook™
Stars: ✭ 173 (+158.21%)
Mutual labels:  browser-extension
privacy-preserving-primitives
primitives and protocols for implementing privacy preserving networks
Stars: ✭ 14 (-79.1%)
Mutual labels:  p2p
AntiRickRoll
Chrome extension that blocks Rickrolls!
Stars: ✭ 22 (-67.16%)
Mutual labels:  browser-extension

Pricedoge

996.icu

Chrome extension for price comparison.

How it works

When you visit a web page, the extension will check the website if it is a goods detail page, search from other platforms, and finally show the result at the top of the current website.

Extension

You can download the packed crx file at: https://github.com/DimensionFoundation/PriceDoge/raw/master/extension/pricedog.crx

We build the extension using React with Typescript.
You can run npm run build to build the extension and load unpacked extension from chrome.

Since we don't want to run npm run eject which will throw everything from react-scripts that we don't necessarily need, we're using rewire to modify some webpack setting. You can check ./extension/scripts/build.js and ./extension/config/webpack.prod.js for reference.

Key pair

The extension will generate a key pair using bip39 once you open the extension's page, you can check ./extension/src/utils/keyStore.ts for reference.

Content script

You can check all the scripts under ./extension/src/contentHandler folder. Every script extends from IContentHandler interface and canHandle() function will be called every time the user visits a website. handle() function will be called if canHandle() returns true.

Background script

You can check all the background services under ./extension/src/backgroundService folder.

Communication between background script && content script && actual web page

Communication between different context is very important since the same code will be executed from different contexts.
You can check the ./extension/src/utils/messaging.ts file if you're in a hurry :)

Since we don't want to check the context every time, we create a MessageCenter to handle all that stuff. Message.send() to send a message and Message.on() to subscribe.

All messages are typed. See ITypedMessages in ./extension/src/utils/messaging.ts.

Searching results provider

Localization

You can add your localization under [./extension/src/i18nfolder just likeen](./extension/src/i18nfolder just likeen) folder. Use script to check if localization is complete.

cd extension

npm run i18n-lint

Server

We create a server using Koa with Typescript.
puppeteer is used to completing the actual search, you can check ./server/src/taobao.ts to see more.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].