A home for all your coupons and loyalty cards. Free to use at https://coupon.metikular.ch. Self-hostable and open-source (see below).
- Store coupons and discounts
- Store loyalty cards
- Store gift cards
- Several types of barcodes and QR codes supported for coupons and loyalty cards
- Be notified via apprise when a coupon expires soon
- Dark mode
Using a PostgreSQL database:
docker-compose -f docker-compose.example.yml upUsing a SQLite database:
docker-compose -f docker-compose.sqlite.yml upThe default port of the running webserver is 80.
Add a page for data privacy by creating a file at app/views/pages/data_privacy.html.haml.
All data is stored in the database. It is thus sufficient to backup the database.
If PostgreSQL is used: use pg_dump to backup the database specified in DATABASE_URL.
If SQLite is used: backup the .sqlite3 file specified in DATABASE_URL. If a relative path is used to specify the database file, it is relative to the directory /app.
bin/setup
bin/devRun tests:
# PostgreSQL
bundle exec rspec
# SQLite
DATABASE_URL=sqlite3:db/development.sqlite3 bundle exec rspec-
DEVISE_SENDER_EMAIL: the email address you are sending emails from -
DATABASE_URL: allows to set the database. PostgreSQL or SQLite3 are supported.Example for SQLite3:
DATABASE_URL=sqlite3:db/development.sqlite3 -
CURRENCY: An ISO 4217 currency code to use as default currency. Defaults toxts, which is a currency reserved for testing.
- Catima, Android App
- VoucherVault, web application using Python/Django
GNU Affero General Public License v3.0