Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Gituser143/cryptgo
A terminal application to watch crypto prices!
https://github.com/Gituser143/cryptgo
bitcoin coin crypto crypto-price-tracker crypto-prices cryptocurrency cryptocurrency-exchanges ethereum go golang terminal-based tui
Last synced: 14 days ago
JSON representation
A terminal application to watch crypto prices!
- Host: GitHub
- URL: https://github.com/Gituser143/cryptgo
- Owner: Gituser143
- License: apache-2.0
- Created: 2021-05-20T06:36:28.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-10-17T13:19:34.000Z (about 3 years ago)
- Last Synced: 2024-07-31T20:53:32.859Z (3 months ago)
- Topics: bitcoin, coin, crypto, crypto-price-tracker, crypto-prices, cryptocurrency, cryptocurrency-exchanges, ethereum, go, golang, terminal-based, tui
- Language: Go
- Homepage:
- Size: 1.55 MB
- Stars: 153
- Watchers: 4
- Forks: 17
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - cryptgo - Crytpgo is a TUI based application written purely in Go to monitor and observe cryptocurrency prices in real time! (Utilities / Utility/Miscellaneous)
- awesome-go-extra - cryptgo - 05-20T06:36:28Z|2021-10-17T13:19:34Z| (Utilities / Fail injection)
README
cryptgo
=======[![Go Build](https://github.com/Gituser143/cryptgo/actions/workflows/go.yml/badge.svg)](https://github.com/Gituser143/cryptgo/actions/workflows/go.yml) [![Go License Check](https://github.com/Gituser143/cryptgo/actions/workflows/license_check.yml/badge.svg)](https://github.com/Gituser143/cryptgo/actions/workflows/license_check.yml) [![Go Report Card](https://goreportcard.com/badge/github.com/gituser143/cryptgo)](https://goreportcard.com/report/github.com/gituser143/cryptgo) [![Go Reference](https://pkg.go.dev/badge/github.com/Gituser143/cryptgo.svg)](https://pkg.go.dev/github.com/Gituser143/cryptgo) ![Docker Image Version (latest semver)](https://img.shields.io/docker/v/bhargavsnv/cryptgo?label=Docker%20Version&logo=Docker&sort=semver) [![Mentioned in Awesome Go](https://awesome.re/mentioned-badge.svg)](https://github.com/avelino/awesome-go)
### Latest Stable Version: ![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/gituser143/cryptgo?label=Version&sort=semver)
Crytpgo is a TUI based application written purely in Go to monitor and observe cryptocurrency prices in real time!
![logo](images/logo.png)
Installation
============Using Go
--------```bash
go get -u github.com/Gituser143/cryptgo
```Using Docker
------------### Running Image
Set `VERSION` to a specific version for stable builds. Omitting `VERSION` uses the latest stable version or setting `main` as version provides the latest (in development) version.
```bash
# Pull Image
make docker-pull# Pull specific version of image
VERSION=v1.1.1 make docker-pull# Run Image
make docker-run# Run specific version of image
VERSION=v1.1.1 make docker-run# Run image with portfolio command
ARG=portfolio make docker-run# Run image with help command
ARG=help make docker-run```
Optionally, an alias can be created for ease of use:
```bash
alias cryptgo='docker run -u $(id -u):$(id -g) -v "$HOME:/home/appuser/" --rm -it bhargavsnv/cryptgo'
```And run using:
```bash
cryptgo [flags]
# or
cryptgo [command]
```### Building Image locally
```bash
# Clone the repository
git clone https://github.com/Gituser143/cryptgo# Navigate into repository
cd cryptgo# Build image
make docker-build# Run image
make docker-run
```From Source:
------------Building requires [Go](https://golang.org) to be installed.
```bash
# Clone the repository
git clone https://github.com/Gituser143/cryptgo# Navigate into repository
cd cryptgo# Build executable
make build
```Make
--------
```bash
# See all make targets
make help
```
---What does `cryptgo` do?
=======================Cryptgo helps you look at cryptocurrency values, details and track your crypto portfolio straight from your terminal!
It makes use of the API provided by [CoinCap.io](https://coincap.io/) and [CoinGecko](https://www.coingecko.com/en) to provide the required details!
Main Page
---------![main-page](images/main-page.png)
- Here, the top 3 currencies (as ranked by Market Cap) are displayed with their graphs on top.
- A table is provided with relevant information about other currencies.
- `cryptgo` allows you to keep track of your favourite currencies by adding them to the favourites table.
- A selected coin (from either the coin table or favourites) can be further inspected in detail.
### Key-Bindings
Key-bindings can be found by pressing `?`. This displays the help prompt.
- **Quit**: `q` or ``
- **Table Navigation**
- `k` and ``: up
- `j` and ``: down
- ``: half page up
- ``: half page down
- ``: full page up
- ``: full page down
- `gg` and ``: jump to top
- `G` and ``: jump to bottom
- `f`: focus favourites table
- `F`: focus interval table
- **Searching/Filtering**
- `/`: Open search box
- `Esc`: Clear filter text
- **Sorting**
- Use column number to sort ascending.
- Use to sort descending.
- Eg: 1 to sort ascending on 1st Col and F1 for descending
- **Actions (Interval Table)**
- ``: Select Currency (from popular list)
- ``: Select Currency (from full list)
- `e`: Add/Edit coin to Portfolio
- `P`: View portfolio
- ``: Star, save to favourites
- ``: UnStar,remove from favourites
- ``: View Coin Information
- `%`: Select Duration for Percentage ChangeCoin Page
---------![coin-page](images/coin-page.png)
- The coin page give more in depth details of a particular coin.
- It can be navigated to from either the favourites or coin table.
- The price history is displayed on top and can be viewed through different intervals, as provided by the Graph Interval table on the bottom left.
- A live price is streamed in the price box and additional details are described in the details table.
### Key-Bindings
Key-bindings can be found by pressing `?`. This displays the help prompt.
- **Quit**: `q` or ``
- **Table Navigation**
- `k` and ``: up
- `j` and ``: down
- ``: half page up
- ``: half page down
- ``: full page up
- ``: full page down
- `gg` and ``: jump to top
- `G` and ``: jump to bottom
- `f`: focus favourites table
- `F`: focus interval table
- **Sorting**
- Use column number to sort ascending.
- Use `` to sort descending.
- Eg: `1` to sort ascending on 1st Col and `F1` for descending
- **Actions (Interval Table)**
- ``: Set Interval
- ``: Select Currency (from popular list)
- ``: Select Currency (from full list)Portfolio Page
--------------![portfolio-page](images/portfolio-page.png)
- Cryptgo allows you to track your crypto portfolio through a separately defined page.
- This page can be accessed with the command `cryptgo portfolio`.
### Key-Bindings
- **Quit: `q` or ``**
- **Table Navigation**
- `k` and ``: up
- `j` and ``: down
- ``: half page up
- ``: half page down
- ``: full page up
- ``: full page down
- `gg` and ``: jump to top
- `G` and ``: jump to bottom
- **Sorting**- Use column number to sort ascending.
- Use `` to sort descending.
- Eg: `1` to sort ascending on 1st Col and `F1` for descending- **Actions**
- `c`: Select Currency (from popular list)
- `C`: Select Currency (from full list)
- `e`: Add/Edit coin to Portfolio
- ``: View Coin Information### Mini Portfolio
![portfolio](images/portfolio.png)
- Cryptgo also allows you to view your holdings through a mini portfolio from other pages.
- Coins can be added/modified/removed by pressing `e` on a coin in the main page. (Set Holding Amount as 0 to remove)
- Holdings can be modified either through the main page or through the portfolio itself. The below image shows the edit box when modifying holdings.
![edit-box](images/portfolio-edit.png)
Utilities
---------### Currency
Currency need not be fixed to USD $, other currencies can be selected from either the popular currency table (press `c`) or full currency table (press `C`).
#### Popular Currency Table
![currency](images/currency.png)
#### Full Currency Table
![currency-full](images/currency-full.png)
### Search/Filtering
Coins can be filtered/searched based on an input substring. The search/filter box can be brought up on the main page (press `/`).
![search](images/search.png)
### Change Percentage Interval
The Change Percentage on the main page can be modified too. A list of durations can be viewed and selected by pressing `%`, which brings up the below table.
![change-duration](images/change-duration.png)
### Change Graph Duration
The duration of the history graph on the coin page is modifiable. To list the possible durations and select one, press `d` in the coin page. that will bring up the following table.
![history-duration](images/history-duration.png)
---
Contributing
============**Pull Requests and Issues are welcome!**
Please check the issues page to see available issues to work on, or to even create some!
---
Credits
=======Multiple Design ideas, utilities, functions and practices have been adopted from:
- [Grofer](https://github.com/pesos/grofer)
- [Gotop](https://github.com/cjbassi/gotop)
- [Termui](https://github.com/gizak/termui)
Do check them out!