Skip to content

Cryptofolio V.2.1

Compare
Choose a tag to compare
@Xtrendence Xtrendence released this 28 Jun 18:37
· 129 commits to main since this release

Just wanted to say thank you for over 15,000+ downloads/pulls across GitHub and DockerHub. Also a huge thank you to the people who have been opening issues and suggesting improvements, it's great practice for my future career, and I've learned a lot about managing an open-source project from this whole thing. I absolutely love what I do and would be doing it even without any downloads, users, or donations, but obviously the fact that I have all three on this project is nothing short of amazing, and I can't express my gratitude enough.


Download the API and website using the "Source code (zip)" link at the bottom of this release (do not clone the repo or download the source code of the main branch, as the code might contain unfinished parts etc.)

This release's API isn't compatible with the old one, so you'll have to update it to use the new features.

Docker: docker pull xtrendence/cryptofolio:V.2.1.0

To keep up-to-date with new upcoming features, please check the project board from time to time. If you make any feature requests (within reason of course) or report any bugs by opening an issue, then I'll get to it all when I have time.

New Features:

  • Holdings can now be based on transactions. There are 3 settings for this:

    • Disabled, which causes transactions not to affect holdings in any way. This is perfect if you're too lazy to record your transactions and just want to keep track of your holdings.
    • Mixed, where you can edit your holdings, but transactions also affect them and are added/subtracted based on the transaction type (buy/sell).
    • Override, which causes your holdings to be entirely based on transactions, and not be manually editable.
  • If the setting for "transactions affect holdings" is set to "Override", the user can now view a chart of their portfolio's performance over the past year (or since the first transaction they recorded). Their profit/loss is also shown with 6 timeframes (1D, 1W, 1M, 3M, 6M, 1Y) and the amount of money they've gained or lost since each point in time can be seen in green or red. The closing price of each day is used to determine this performance, and this data comes from CoinGecko's API. If the user has a lot of holdings, then loading the chart will take a while, as CoinGecko has rate limits, which means their data cannot be accessed too frequently. Since fetching the historical price data of each coin requires a separate request, an artificial delay/interval must be introduced between each one so that there aren't too many requests at the same time. However, Cryptofolio does cache this data for 24 hours, so you only have to wait for it to load once a day. There might be further effort in the future to improve upon this by having a background task that does it or something like that.

  • The market page now has charts and information on the different cryptocurrencies listed. A yearly price chart for each coin can be viewed, along with the user's transaction data which causes vertical green or red lines to be shown on the chart where they bought or sold the cryptocurrency they're viewing a chart of, though this is optional. All the information is provided by CoinGecko, so some coins may not have a description, and any erroneous data would be due to inaccurate data from CoinGecko's API.

  • Added donation cryptocurrency wallet addresses.

Fixes & General Improvements:

  • Added better animations to the website and desktop app.

  • Fixed mobile app navigation bar animation.

  • Fixed an issue where the activity page would cause the mobile app to crash if some fields of a recorded transaction were left empty.

  • The list of coin IDs are now fetched when interacted with, rather than only upon login.

  • Improved UI for the website, desktop app, and mobile app.

  • Session tokens are now invalidated when the user changes their password, effectively logging them out on every device for added security.

  • Fixed an issue where the QR scanner camera would stay open.

  • Fixed an issue where editing holdings and transactions would require the user to pick the coin ID again.