Giter Site home page Giter Site logo

kevin0x90 / dkb-online-cashback-reminder Goto Github PK

View Code? Open in Web Editor NEW
7.0 5.0 2.0 2.15 MB

A chrome extension that reminds you that you can get cashback when the current site is part of the DKB chasback program

Home Page: https://chrome.google.com/webstore/detail/online-cashback-reminder/kahbbcgmohmgphpepdpdnloicojmpedc

License: GNU General Public License v3.0

JavaScript 98.80% HTML 0.66% CSS 0.54%
dkb chrome-extension cashback

dkb-online-cashback-reminder's Introduction

Since the DKB discontinued their online cashback program this extension is archived and no longer available in the chrome extension store!!

dkb-online-cashback-reminder

Build Status Coverage Status

Show a reminder if the current site is part of the DKB-Online-Cashback Program Online-Cashback-Reminder (DKB compatible) shows you an active icon on every page that is part of the DKB Online Cashback program. When you hit the icon on a cashback site a poup will show the cashback amount and a link that opens the DKB Cashback site in a new tab and filters the list for the selected cashback partner site.

Don't lookup shops manually when online shopping, just look at the extension icon and save money without much effort.

No tracking and just minimal access rights save your privacy.

Feel free to contribute and/or provide feedback

The extension is available in the chrome app store.

dkb-online-cashback-reminder's People

Contributors

dependabot[bot] avatar gurumusch avatar kevin0x90 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dkb-online-cashback-reminder's Issues

Add npm task to package the extension

Is your feature request related to a problem? Please describe.
It is cumbersome to package the extension manually so a npm task should exist for this.

Describe the solution you'd like
I would like to move the app code to a separate folder to simplify the zipping of the app source files
and then add a npm zip task that puts the zipped source into a dist directory.

Describe alternatives you've considered
Instead of using npm tasks one could also use a dedicated task runner like grunt but i think for simple tasks grunt is just overkill.

Restructure source files

Is your feature request related to a problem? Please describe.
Currently source files are mixed with github files.

Describe the solution you'd like
Move the source files to a seperate directory

Refactor code so that also firefox can be supported

Is your feature request related to a problem? Please describe.
Currently the extension is only availble in chrome. To reach more users the extension should also be compatible with firefox.

Describe the solution you'd like
I would like to encapsulate web extension api related functionality so that the core can be independent from the underlying browser extension api calls.

Add integration tests

Is your feature request related to a problem? Please describe.
Currently you have to install the extension manually and do some smoke testing before publishing a new release.

Describe the solution you'd like
I would like to have an automated integration test that freshly installs the current extension build and executes a smoke test of the end user functionalities.

Add prettier for code formatting in a consistent way

Is your feature request related to a problem? Please describe.
I want to have a consistent way formatting is handled so that anybody contributing to the project does not need to care about formatting things in the right way.

Describe the solution you'd like
I would like to add prettier to the project as it is a very easy to configure out of the box solution.

Minifier destroys popup.js

Describe the bug
After minification the popup.js bundle is broken. (Unexpected token)

To Reproduce
Steps to reproduce the behavior:

  1. npm run clean
  2. npm run build
  3. Load the built extension code in chrome
  4. Open a cashback site
  5. Open the popup
  6. See error

Expected behavior
The minifier should not break the code

Add travis configuration to automatically create a release

Is your feature request related to a problem? Please describe.
There should be an automatic way so that a commit that is tagged with a release label automatically
triggers travis to package the app and release it on github.

Describe the solution you'd like
I would like to have this task done with travis.

URL matching does not work for some shops

For the given list of shops the URL matching does not work correct.

  • For example kaspersky shows the discount for sky.
  • Shops with umlaut do not match the real url for example: Görtz
  • Some URLs are not related to the real name at all (these cases need some special handling)

List of shops:

shop der deutschen post: shop.deutschepost.de
about you: aboutyou.de
babywalz: baby-walz.de
reichelt elektronik.de: reichelt.de
C&A: c-and-a.com
MISTER SPEX: misterspex.de
SANICARE - Die Versandapotheke: sanicare.de
TOYS R US: toysrus.de
ELV Elektronik: elv.de
LEGO Shop Deutschland: shop.lego.com
HOTEL DE: hotel.de
A.T.U Auto-Teile-Unger: atu.de
Nike Store: nike.com
o2 Germany: o2online.de
FloraPrima Blumenversand: floraprima.de
Apo-discounter.de: apodiscounter.de
Erwin Müller: erwinmueller.com
SPIELE MAX: spielemax.de
GÖRTZ: goertz.de
DEPOT Online-Shop: depot-online.com
BABOR Cosmetics: babor.com
REWE Lieferservice: shop.rewe.de
OUTLETCITY METZINGEN Online Shop: outletcity.com
Peter Hahn: peterhahn.de
L'OCCITANE: loccitane.com
RENO - die behalte ich gleich an!: reno.de
VAN GRAAF: vangraaf.com
bofrost*: bofrost.de
Fleurop Blumenversand: fleurop.de
Neckermann macht´s möglich! - Möbel, Heimtextilien: neckermann.de
LANDS' END: landsend.de
The Body Shop: thebodyshop.com
Takko Fashion: takko.com
Hunkemöller: hunkemoeller.de
Netto Marken-Discount: netto-online.de
Alba Moda: albamoda.de
Best Western: bestwestern.de
Adler Moden: adlermode.com
BETTWARENSHOP: bettwaren-shop.de
Ted Baker: tedbaker.com
SOUTHBAG: schulranzen-onlineshop.de
Allyouneed Fresh: allyouneedfresh.de
Versandhaus Wenz: wenz.de
ctshirts.com - Charles Tyrwhitt: ctshirts.com
I´m walking: imwalking.de
HOUSE of GERRY WEBER: house-of-gerryweber.com
RUNNERS POINT: runnerspoint.de
Microsoft Store: microsoft.com
Villeroy & Boch: villeroy-boch.de
FC Schalke 04: schalke04.de
Casper Matratze: casper.com
DisneyStore: shopdisney.de
CAMP DAVID & SOCCX: campdavid-soccx.de
G DATA Software AG: gdatasoftware.com
Hellweg - Die Profi-Baumärkte: hellweg.de
Kaspersky lab: kaspersky.de
MIAMODA: mia-moda.de
Hertha BSC: herthabsc.de
ALBA BERLIN: albaberlin.de
Eisbären Berlin: eisbaeren.de
Füchse Berlin: fuechse.berlin
SC DHfK Leipzig: scdhfk-handball.de
SC Magdeburg: scm-handball.de
Handball WM 2019: handball19.com
FRISCHAUF! Göppingen: frischauf-gp.de

Add eslint

Add eslint and corresponding configuration to the project

Add unit-tests with jest

Is your feature request related to a problem? Please describe.
Currently there are not tests to ensure the functionality of the extension after modifications.

Describe the solution you'd like
I would prefer to have a jest setup that can be used to unit test the different components.

Chrome Version 85.0.4183.83 (Offizieller Build) (64-Bit) Plugin icon always shown as active

Describe the bug
In new Chrome versions the plugin icon is always shown as active regardless if the page is part of the cashback program or not.

To Reproduce
Steps to reproduce the behavior:

  1. Go to a page that is not part of the cashback program (for example google.com)
  2. Check the plugin icon
  3. See that it is shown as active

Expected behavior
The plugin icon should only show as active when the current site is part of the cashback program

Screenshots
CashbackReminderBug

Desktop (please complete the following information):

  • OS: Windows 10
  • Chrome Version 85.0.4183.83

Extract chrome extension id generation code from integration test

Is your feature request related to a problem? Please describe.
Currently the selenium integration test contains code to generate the extension id of a chrome extension from a local path for testing purposes. This piece of code should be extracted into a separate node module so that it can be re-used by other projects.

Describe the solution you'd like
I would like to have a separate node module that contains the functionality to generate a chrome extension id from a given path. So that this module can get published on npm.

Fix warnings in travis ci configuration

Describe the bug
Fix the warnings issued by travis regarding the travis configuration yaml.

To Reproduce
Steps to reproduce the behavior:

  1. Inspect any build on travis e.g. https://travis-ci.org/kevin0x90/dkb-online-cashback-reminder/jobs/645622047/config?utm_medium=notification&utm_source=github_status
  2. Click View Config
  3. See the validation result of the travis config

Expected behavior
The travis configuration should not contain any missing or deprecated configuration settings.

Screenshots
image

Fix failing shops

Describe the bug
Currently some newly added shops are not correctly detected. (Can be observed in integration test)

To Reproduce
Steps to reproduce the behavior:

  1. Check the nightly build results it will list the failing shops

Expected behavior
The failing shops should be correctly detected

Add Travis CI

Travis CI should be configured for the following:

  • Lint the source on every commit
  • Provide a task to build the chrome extension packge ready to publish

Add build pipeline to bundle page javascript

Is your feature request related to a problem? Please describe.
Currently there is no good way to modularize the javascript code of the different pages, to be more flexible in the modularization of code the javascript for the different pages should be bundled.

Describe the solution you'd like
I would add webpack to create a build pipeline.

Add package-lock.json to gitignore

Describe the bug
Currently the package-lock.json is checked into the repository.

Expected behavior
The package-lock.json should be added to the gitignore file

Add internationalization support

Is your feature request related to a problem? Please describe.
Currently the texts used in the extension hardcoded and in english, it should be possible to easily translate the texts into different languages.

Describe the solution you'd like
I would like to implement the native internationalization support that is offered by the extension api.

'Olympus' is recognized as 'Olymp'

Describe the bug
Olympus is recognized as Olymp

To Reproduce
Steps to reproduce the behavior:

  1. Go to the website https://www.olympus.de/ or shop https://shop.olympus.eu/
  2. The extension redirects to Olymp, which is a different company/shop.

Expected behavior
Do not show cashback notification for Olympus if not existing

Screenshots
Bild 2

Bild 3

Desktop (please complete the following information):

  • OS: Windows 10 Pro
  • Chrome Version 76.0.3809.100 (64-Bit)

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.