Giter Site home page Giter Site logo

dexlab-io / dexpay-pos Goto Github PK

View Code? Open in Web Editor NEW
27.0 6.0 20.0 75.46 MB

Dexpay: POS, a modularized and extensible point of sale which enables Merchants to accept payments in ETH, DAI and xDAI.

Home Page: https://www.dexlab.io/

License: MIT License

HTML 0.95% JavaScript 99.05%
ethereum-dapp ethereum dai xdai point-of-sale solidity-contracts

dexpay-pos's Introduction

logo xpay vertical small

Dexpay POS

Dexpay: POS, a modularized and extensible point of sale which enables Merchants to accept payments in cryptocurrencies without being exposed to the volatility of the specific currency used during the transaction, in a completely decentralized matter.

Table of contents

Motivation

📉 The risk involved with accepting volatile currencies

Dexpay POS, unlike other payment gateways, provides the ability to receive crypto payments with 0-volatility risk in a completely decentralized manner.

By doing so it decreases the merchant risk associated with accepting volatile cryptocurrencies for commerce.

The problem is important for merchants because their current value reference system is based on the exchange rate of such currencies versus dollar. Therefore, by enabling those parties to always receive a stable coin (DAI) regardless of the currency used for payment, the volatility risk connected to holding such currencies get close to zero.

Furthermore, merchants may benefit from reduced fees when compared to the current digital payments offered, that would directly translate to higher margins for their business.

🙅 Centralized payment gateways

All cryptocurrency payment gateways today leverage on a centralized architecture to keep track of Ether and other ERC20 token payments like DAI. On the other end, Dexpay leverages on an innovative payment gateway solely operated by smart contracts on the ethereum blockchain: this new approach removes the central point of failure of existing gateways, while delivering a truly permissionless and decentralized solution to accept payment in Ether and ERC20 token.

The implications are extremely important: our payment gateway cannot be stopped. No external company will have the chance to reject or censor any transaction.

🌍 Equal access to economic opportunities for everyone

Being an open platform, Dexpay POS enables economic opportunities through equal access to a high-quality POS system for everyone.

History

xpay-prize

User Interface

Reference UI for tablet POS.

item list with images item list no images

Contribute

Please contribute! Have a look to the issues!

License

MIT License - Copyright 2018/ 2019 Dexlab.io

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

dexpay-pos's People

Contributors

alexintosh avatar antoninobonumore avatar dimarconicola avatar gagansaini1212 avatar mittalyashu avatar perminder-klair 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

dexpay-pos's Issues

User management

-Create / Edit / Delete Users
-Email Verification
-API Endpoint
-Database entities

Bugs List and Minor Improvements

  • Mobile: Add the "X" icon on the bill screens (check last design project updates)

  • Number Pad: keypad adds 0.01 after decimals

  • All: Use either point of comma consistently in the number pad and on the amount price shown on top

  • All: Add Logo as on the design (check last design project updates)

  • Mobile: Amount Price should be centered

  • Add the list item style on the currency selection on the first step of the payment modal

  • Tablet/Desktop: Generate Bill button and Amount should be centered

  • Can add only 2 decimals on keypad, after that it should not take any more inputs

  • Keypad input should have comma after 3 digits

  • On ipad keypad input resize right side

  • Add Keypad text in wrapper to fix resizing

  • In settings inner pages when press X it goes back to Settings

Number pad

This component it's meant to be used to insert prices, this means some dynamic need to be taken in consideration, for instance:

  • If no number has been inserted, pushing the "," will assume there is a Zero before and we are creating a floating point.

  • If a "," has been inserted already, a second one cannot be inserted.

  • Mobile design

  • Desktop design

  • Functionality

Web POS project

-Setup React application
-Web3 provider
-Accepting DAI
-Accepting xDAI
-Virtual keyboard
-Tx Watcher

Tx Watcher Class

We need a way to keep track of incoming transactions.

The watched class should be able to interact with testnet, mainnet and xDai Network.
Specifically:

  • Connect to websocket provider to get information about the latest block.
  • Connect to http provider to get information about the latest block.
  • Verify number of confirmation for a specific txhash
  • Verify ETH incoming transactions
  • Verify ERC20 incoming transactions
  • Have a system of notifying the ui about the status of tx.

Tablet layout.

The application supports two main layout, one for mobile and one for tablet.
The application should be build accordingly to the responsiveness of such layout.

photo_2019-01-25_10-46-31

  • Dashboard page
  • Product page

Setting POS address

Case 1:

Application is rendered inside a web3 enabled context, then the POS address is set up from the active account in the web3 provider.

Case 2:
POS Address is set up by a value in get, pos address is stored in the session.
(Make sure the address is valid)

Case 3:
User is connected with the backend and POS address is coming users meta data.

Keypad component is buggy

The Keypad component seems to be pretty buggy, please have a look to the video.

  • Autoscaling component stop working after switching tab
  • Key C, stops working after switching tab
  • Issue #38
    bugs

Payment successful

  • Mobile design

  • Desktop design

  • Functionality

  • Open Block Explorer is link to ether scan

Recent payments

  • Mobile design

  • Desktop design

  • Functionality

  • Incoming payments only.

  • Dates should be like 10 hours from now etc

  • On click it will go to etherscan website

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.