But starting in 2013, Google Code began to die. Initially, Google Code was chosen for distribution of OpenNumismat, which provided convenient bug tracking, a multilingual wiki for documentation, binary downloads, and of course a git repository. Unexpectedly for me, another potential turned out to be a potential opportunity to convince skeptics of the security of the program - on the forums they claim that they checked the code with grep and no suspicions. Pull requests, to my chagrin, there were only three.
The main advantage of the openness of the code was the possibility of free use of third-party services for distribution, translation, bug tracking. To attract users, import from the most popular alternatives is implemented.Īs for Linux and macOS, there are practically no analogues for these platforms. Also, some use Access or 1C and create their own collection database with everything they need. The vast majority of collectors use Excel despite the fact that it does not work well with images.
OpenNumismat is more focused on creating a catalog of its own unique collection, rather than on “closing holes in a finished album,” as some coin collectors put it.īut the main competitor is Microsoft. Similar opportunities are provided by mobile applications (most for Android) and web services. The user needs only to mark the available coins and enter the purchase information - price, date, etc. In the US, many use commercial software, the undoubted advantage of which is the availability of ready-made databases of existing coins. Most of them "look as if someone got their first version of Firefox and used it." Now there are a lot of applications for collectors and, in particular, coin collectors. In addition, it is immediately available on all platforms.
Developing PWA turned out to be much easier to create a native Android application similar in capabilities. It was replaced by PWA (Progressive Web App), which allows you to view your collection in any browser - using SQLite.js. There is also a version for Android, currently abandoned. Since all components are cross-platform, then OpenNumismat has builds for Windows, Linux (Debian / Ubuntu), macOS. Despite my initial skepticism, this was enough to ensure acceptable performance - several thousand image records are processed without any noticeable brakes. The application is written in Python, data is stored using a SQLite database, PyQt is used for the interface, data access and much more, Jinja2 is used for generating reports, and Matplotlib is used to build statistics graphs. But it is also suitable for other types of collectibles - stamps, postcards, badges and more exotic things. OpenNumismat, as the name implies, is intended primarily for registering a collection of coins. Therefore, we will discuss the features that I encountered while developing a non-commercial application for a wide range of users, which have become a discovery for me.
I did change Swaziland to Eswatini in my binders, but I didn't change Nagorno-Karabach to Artsakh.I want to share my experience developing an open source desktop application for collectors.īy the nature of my core business, I develop software for embedded systems and rarely intersect with end users. Please see if you can include the previous names of a country in the response.
That way, it's possible to sort the coins by date added and that helps with finding the coins that are not in my binders yet. Add the date and time a coin was added to the collection in the API.At the moment, I only get the min_year and max_year for a specific coin, not for the currency. In Coin -> Value -> Currency, please add the range of years that entire currency is/was active.In the current situation, I need to make my collection public to be able to use the API and I would rather keep it private. I want to be able to authorize my application once in my profile. For desktop applications, this won't work. Create way to authenticate without having to use oauth_authorize.php.Allow name of collection(s) and/or a "in-/exclude swap" parameter to be added to the /users//collected_coins call in order to decrease the number of coins returned.As discussed in, here are some propositions to improve the API.