GithubHelp home page GithubHelp logo

damoonrashidi / bitalarm Goto Github PK

View Code? Open in Web Editor NEW
196.0 12.0 57.0 3.99 MB

An app to keep track of different cryptocurrencies, written in dart + flutter

Ruby 5.84% Objective-C 0.06% Dart 92.70% Kotlin 0.71% Swift 0.69%
dart cryptocurrencies flutter hive flutter-provider hacktoberfest hacktoberfest2020

bitalarm's Introduction

Version 2 on the way!

I'm currently rewriting the application from scratch to remove a lot of the ugly code, conform better to modern flutter best practices with regards to State Management and Routing and splitting up widgets before they become monsters.

The code for the v1 can be found in the legacy/v1 branch, whats currently available in master is pretty bare bones functionality wise, but should serve pretty well for a starter for other apps.

Updated design

Todo

  • Get prices
  • Display all prices
  • Sort all prices based on price, 24h gain/loss
  • Add coin to favorites
  • list favorites
  • Add wallets (both via pasting address or scanning QR code)
  • Remove wallet
  • Get wallet value
  • Single coin view
  • Single coin graph
  • wallet view
  • Cool but pointless animations

Version 1

can be found in the branch legacy/v1 for posterity.

bitalarm

A cryptocurrency tracker and portfolio app, built with Flutter and Dart

promo screens

Getting Started

  1. Install Flutter
  2. Clone the repo
  3. Run flutter run (make sure to have an emulator running).

Recent changes

  • Way faster load times in portfolio. Can be done even faster if the coin values are fetched (or even prefetched) and graph is continuously built after the wallet stream emits a coin object.
  • Portfolio update look and feel

Todo

  • Maybe currency icons?
  • Loading indicator.
  • Graph out historical data for a currency
  • Make sure that the graph is actually correct. God knows what it's displaying now.
  • Error messages when timeline/order data for a currency couldn't be found.
  • Scan QR-code to add wallet to wallet list
  • Remove wallet from list
  • Dynamic portfolio based on address (ETH + ERC20-tokens, LTC, BTC, BCH, DASH and ADA for now)
  • Ability to add individual assets in addition to wallets
  • Add more information in the details view (Circulating supply, ATH, 24h hi/low)
  • Dark mode

bitalarm's People

Contributors

damoonrashidi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bitalarm's Issues

CoinGraph text and indicator dots are covered by shader

The gradient shader that gives the coin chart a pink->blue gradient also covers the text and the hi/low/current indicators, meaning that they get the same hues. These should ideally be gray/white which could be achieved if they are moved to their own CustomPainter with the same X/Y calculations and drawn over the ShaderMask in coin-graph.dart using a Stack widget.

Use bezier curves for coin graph

Currently the coin graph is using the path.lineTo function, causing the lines to be straight between nodes. It would be nice to use path.relativeCubicTo or path.relativeConicTo to make the graph prettier.

Create WalletService and update WalletModel

WalletModel needs the following public method

class WalletValue {
  double amount;
  double value;
}
WalletContents getContents(Wallet wallet);

And WalletService needs the following methods, since they will be pretty different API calls with different methods.

WalletContents _getBitcoinValue(String address);
WalletContents _getEthereumValue(String address);
WalletContents ...

Dart 3 incompatibility issue

Hey there, I cloned bitalarm to run and test it locally and when I tried to install packages using flutter pub get and I got dart sdk incompatible error. Then I changed the sdk version and some of the packages version to the latest, but I found out one of the packages called nav_router is dart 3 incompatible. Have u considered making bitalarm compatible with dart 3 by using other routing packages? Thanks in advance

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.