Clubcode [fork]

Your rating: None Average: 4.9 (11 votes)

Caution! version >= 0.3-1 will break the old barcode database!

Now that more barcode types are supported, I need to add a barcode type, which breaks the datamodel.

Please note your codes before upgrading!


ClubCode is an app to save and show club card barcodes. Leave your club cards at home. With this app you can easily add all your barcode base club cards and easily show them to the scanner or cashier.

Currently supported barcode types:

  • Code 39
  • Code 93 ( a bit beta)
  • Code 128
  • EAN-8
  • EAN-13
  • UPC-E

CodeReader (found the Jolla Store) can be used to scan codes and paste them via the clipboard (if the barcode type is supported of course).

License: GPL-3.0

Original repo: github

Forked repo: github

Application versions: 
File harbour-clubcode-0.3-1.armv7hl.rpm33.48 KB09/03/2019 - 14:27
File harbour-clubcode-0.3-1.i486.rpm36.14 KB09/03/2019 - 14:27
File harbour-clubcode-0.3-2.armv7hl.rpm34.66 KB09/03/2019 - 19:16
File harbour-clubcode-0.3-2.i486.rpm37.5 KB09/03/2019 - 19:16
File harbour-clubcode-0.3-3.i486.rpm40.47 KB10/03/2019 - 02:47
File harbour-clubcode-0.3-3.armv7hl.rpm36.88 KB10/03/2019 - 02:47
File harbour-clubcode-0.3-4.armv7hl.rpm36.94 KB10/03/2019 - 14:14
File harbour-clubcode-0.3-4.i486.rpm40.53 KB10/03/2019 - 14:14
File harbour-clubcode-0.3-5.i486.rpm41.02 KB10/03/2019 - 19:19
File harbour-clubcode-0.3-5.armv7hl.rpm37.41 KB10/03/2019 - 19:19
File harbour-clubcode-0.3-6.armv7hl.rpm37.57 KB11/03/2019 - 02:05
File harbour-clubcode-0.3-6.i486.rpm41.18 KB11/03/2019 - 02:05
File harbour-clubcode-0.3-7.i486.rpm44.02 KB17/03/2019 - 12:50
File harbour-clubcode-0.3-7.armv7hl.rpm41.13 KB17/03/2019 - 12:50
File harbour-clubcode-0.3-8.armv7hl.rpm44.92 KB21/03/2019 - 21:38
File harbour-clubcode-0.3-8.i486.rpm48.01 KB21/03/2019 - 21:38
File harbour-clubcode-0.3-9.i486.rpm48.34 KB22/03/2019 - 02:09
File harbour-clubcode-0.3-9.armv7hl.rpm45.14 KB22/03/2019 - 02:09
  • 0.3-9 Barcodes now loaded sorted by name (thanks PawelSpoon)
  • 0.3-8 Added UPC-E support
  • 0.3-7
    • Barcodes can be made another step smaller
    • Added Code 93
  • 0.3-6 From upstream: changed enterkey to go to next field and accept the input
  • 0.3-5 Russian translation added (thanks Dikonov)
  • 0.3-4 Some minor visual changes
  • 0.3-3
    • Code 39 type added
    • About page added
    • Now 3 sizes for barcode by tapping
  • 0.3-2 EAN-13 added
  • 0.3-1
    • Added EAN-8 as barcode type
    • More compact list of barcodes
    • Resize cover icon
  • 0.2-3 Tap on barcode to toggle to half the size
  • 0.2-2
    • Better sizing for hires screens
    • Landscape support (barcode remains landscape oriented)
  • 0.2-1
    • Fixed issue of not loading barcodes at start
    • Added remorse timer for removing
    • More translatable strings
    • Fixed build issues


PawelSpoon's picture

You can use barcode reader instead of tyoing. That is a.separate app.

melg01's picture

Great app! It would be nice to add some way of organizing the codes, at least a simple categorization (shop types or whatsoever), also changing the position (moving them up and down in the list), maybe a search or filter function. And of course, being able to just take a photo of the code and having automatic recognition would be the top! (instead of mis-typing the numbers...). Anyway, keep up the good work!

ade's picture

There was already a request for sorting, but that's a bit harder than I anticipated. As the amount of barcodes grows, sorting/categorizing would be desirable.
Unfortunately, the storage backend is not very flexible, so it could break the database again. For that, it would be better to move to a sqlite backend.

As mentioned by in the description and by PawelSpoon just now, CodeReader can be used to scan and copy/paste. I see no reason to do all the effort to port that scan functionality to spare some seconds for one time scans.

naytsyrhc's picture

Thx again for this fork/app. Can confirm that it works in real life. I'd love to digitize more of my club cards. Unfortunately one of them uses UPC-E and another one ITF-14 and yet another QR-Code. The other ones are covered by already supported EAN-8 or Code39. Do you think there is a chance to support the others as well?

ade's picture

I can also confirm it works :-).
In theory, most 1D barcodes should be doable, given there is a font and a clear description of the way the barcode is constructed. 2D codes like QR-codes are a no go in this concept, as it cannot be put in a simple fontset (way too many variations in the barcodes).

Edit: UPC-E now also supported

olf's picture

@ade, thanks for the update, including the nice, new feature to generate EAN-8 codes.

Just a visual nuisance:
When using EAN-8 barcodes, the "name" and description labels in both list and full screen view are horizontally a bit off center to the right. For Code128 they look properly centered (as before v0.3).

olf's picture

Looking more closely, it rather seems that the barcode proper of EAN-8 codes is slightly shifted to the left (in both, list and full screen view). The labels (i.e., the overlaid text) seem to be as well centered horizontally, as the labels of Code128 barcodes are.

ade's picture

@olf: I will look at the minor visual aspects later on, for now I am just a bit tired of all other changes :-)

olf's picture

BTW (after playing a bit with ClubCode), a nice and supposedly easy to implement feature in the barcodes' list view would be to also include what a barcode encodes in an additional, third, overlaid text line to each barcode.
I believe, it then makes sense to differentiate this third line by typesetting (as the name and description lines already are) and align the typesetting of the full screen view to that.


  1. "Name" text line in bold
  2. Description text line in italic
  3. Barcode content ("12345678") in regular font

The currently used font is absolutely fine: "light" in terms of typesetting (so the overlaid text does not obstruct too much of the barcode), well readable etc.

And many kudos for picking up another abandoned app!

olf's picture

Now that EAN-8 barcodes can be generated, which implicitly have a barcode's content embedded as clear text in the bar code, I alter my suggestion for displaying the content in the same way for all types of barcodes (i.e., embedded into the barcode as for EAN-8).
Consequently the second, "description" line for each barcode should stay in regular typesetting (i.e., not being altered to italic, as originally suggested).

ade's picture

As a reponse to your series of comments:

Offset of barcodes:
I don't see any real issues, but didn't use a ruler ;-)

Text in the full screen:
As this screen rotates depending on the screen orientation to always be in landscape, it's hard to play with the layout.
The EAN fonts have their code text incorporated, the others don't, so that will always look different.

I made the following changes: code in monospace font to make it look clear. And only display this code if it is not displayed in de barcode itself. The description (if entered) will be added to the name.

And on the mainpage I made the gray background barcodes a bit more transparant, so the description is more readable.

olf's picture

Thank you very much:

  • The only real issue (missing "description" in full screen view) is resolved.
  • As all functionality is working fine, there is no need to optimise / over-engineer the visual appearance.
    Still I wonder, why you cannot see the left-shifted EAN-8 barcodes in list view (in landscape orientation) and full-screen view on your device. I have tried a few EAN-8 codes and they are all well visibly left-shifted on my Jolla 1 with SFOS in both views (both used in landscape orientation), as well as some barcodes of all other available types and none of them was off-center. I have captured some screen-shots, but the issues section at your fork at Github is currently disabled (the first place which came to my mind for uploading them). Never mind.
ade's picture

No idea why issues where disabled. Should be enabled now.

olf's picture

@ade, the description text line is missing in the full screen view of a barcode (i.e., after tapping on a barcode in the list view), although there is sufficient space for it below the "name" text line and above the barcode proper.
Tested with ClubCode 0.2-3 on a Jolla 1 phone with SFOS

objectifnul's picture

Actually the too large display (for my taste) is the one with the list of barcodes. It was smaller and more convenient until release 0.2-1.

ade's picture

I was talking about this page. So again: it now has the same dimensions as on the original version on the Jolla 1. That it was smaller on the Xperia, is only because of the higher resolution and was not intended. But of course it can be made smaller.

objectifnul's picture

It's okay, I downsized the display in HomePage.qml to have all my seven barcodes shown in one screen as before.

sdworks's picture

I see the problem and moved the database one folder higher up in the directory tree. That worked. But how come this happened?

sdworks's picture

This output I got:
-rw -rw -rw 1 nemo 590 2019-03-03 23:15 /home/nemo/.local/share/harbour-clubcode/harbour-clubcode/database
-rw -rw 1 nemo 590 2019-03-03 23:15 opt/alien/home/nemo/.local/share/harbour-clubcode/harbour-clubcode/database

ade's picture

It looks like somehow something ended up in the wrong location, which I cannot explain right now. The folder harbour-clubcode is mentioned twice.

cp /home/nemo/.local/share/harbour-clubcode/harbour-clubcode/database /home/nemo/.local/share/harbour-clubcode/database

And see if that helps.

sdworks's picture

It seems your update to 0.2-2 erased all of my stored cards&barcodes

ade's picture

Can't think of any changes that would have that effect in 0.2-2.

Maybe something is stored on another location?

Whats the output of:

find / -name database 2>/dev/null |grep clubcode|xargs ls -l

on the terminal?

naytsyrhc's picture

Thanks for forking. I'll repeat my comment from initial release: would be awesome if I could also change the type of the barcode. My card has an EAN-8 code whereas all codes from this app seem to be code128. It would be even nicer, if I could just scan the existing barcode, type and value will be determined automatically and a copy of those values would be created.

ade's picture

I implemented EAN-8 in release 0.3-1. As noted in the description, it will break your current database, so make sure you have your codes somewhere.

You can enter 7 or 8 numbers. The last number is a checksum, if ommitted it will be calculated for you.

naytsyrhc's picture

Awesome. Really nice. Will test if it is now readable by club scanner after my vacation. Thanks for your efforts.

ade's picture

Had a quick look at the code. Not too easy I am afraid, but I am not familiar with the logic of the other barcode types.
Feel free to have a look at it yourself. Perhaps I will have a closer look at it later.

You can use CodeReader to get your info from existing barcodes.

naytsyrhc's picture

I know about codereader. I'd love to read the code with codereader and e.g. import the result to clubcode (or copy&paste).

objectifnul's picture

Excellent! Wish list : ability to lock it in landscape display.

ade's picture

What exactly do you mean, as the barcode is already displayed in landscape orientation.

objectifnul's picture

Maybe it's because of one of my patches, but the barcode is displayed in landscape only when the phone in vertical. It returns to portrait when the phone is horizontal (just the opposite of desired behaviour)

EDIT: it's OK if I disable the "UI Rotate Free" patch (by CodeRus). But I need it for some other apps...