Code Monkey home page Code Monkey logo

angularjs-bitcoin-pos-app's Introduction

Synopsis

This is an AngularJS, POS App that accepts Bitcoin and most cryptocurrencies available on ShapeShift.io as payment. This project is still a work in progress and is currently meant for experimental and learning purposes only. Please use at your own risk.

Motivation

This app was created to build and expand the authors knowledge of AngularJS and to explore available API's in the cryptocurrency space. If able, please offer productive critiques and feedback for further improvement of the app.

Installation/Setup

For Merchant use, navigate to the "config/data.json" file. There are two required and one optional fields in this file at the moment (Required:items, Required:defaultCoin, Optional:addresses). The items field is meant to store merchant items (i.e. coffee, tea, concert ticket, etc.). The defaultCoin field is meant to store the primary address of the merchant for payment deposits. The addresses field is optional and is meant to store a list of additional merchant Bitcoin addresses that can be viewed on the #/search page from the "Quick Search" drop-down.

Possible Use-Cases

Bitcoin->Bitcoin Payments:

  • The customer selects the "Pay with Bitcoin" option to pay the merchant directly in Bitcoin.

Altcoin->Bitcoin Payments:

  • The customer selects the "Pay with Altcoin" option to pay the merchant in Bitcoin with any available altcoin via ShapeShift.io.

Altcoin->Altcoin Payments

  • The customer selects the "Pay with {{defaultCoin}}" option to pay the merchant in {{defaultCoin}} with any available altcoin via ShapeShift.io.

Bitcoin->Coinbase Instant Exchange Bitcoin Address->USD Payments:

Altcoin->Coinbase Instant Exchange Bitcoin Address->USD Payments:

Future Improvements/Known Limitations

  • Create support for more altcoins on the #/search page.
  • Create support for altcoins available on ShapeShift.io that require more than an address for a successful transaction (i.e. Monero).
  • $rootscope was not used throughout the app due to several suggestions that it be avoided. However, accessing parent scopes eventually became an issue. There are instances where $modalInstance is used to work around this, but it is less than ideal. This issue also seems to prevent the $scope.items array from being cleared after each transaction requiring the user to click "Remove All Items" instead. Any suggestions on how to best access parent scope would be greatly appreciated.

Video Walk-through

Demo Site

  • cryptomerchantapp.xyz

angularjs-bitcoin-pos-app's People

Contributors

coreyphillips avatar

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.