Skip to content

Greenstand/POS-Shopify-Extension

Repository files navigation

POS Shopify Extension

Getting started

Requirements

  1. You must download and install Node.js if you don't already have it.
  2. I would recommend Visual Studio Code for programming

Installation

  1. Fork this repository
  2. Clone the fork
  3. Run npm install

Working from the remote

  1. Always create a new branch before starting a feature
  2. Commit your changes
  3. Run git checkout main
  4. Run git pull upstream main --rebase and git push origin main (if doesn't work, run git push origin main --force)
  5. Switch to your feature branch (git checkout [branch-name]) and run git rebase main
  6. Now, you can push to your origin (git push origin main) and go to this repo and create a PR

Setting up Shopify

  1. Create a Shopify Partners account
  2. Send me the email address you used on Slack (Krithin Jay)

Get help

Tech Stack

This app combines a number of third party open-source tools:

The following Shopify tools complement these third-party tools to ease app development:

  • Shopify API library adds OAuth to the Express backend. This lets users install the app and grant scope permissions.
  • App Bridge React adds authentication to API requests in the frontend and renders components outside of the App’s iFrame.
  • Polaris React is a powerful design system and component library that helps developers build high quality, consistent experiences for Shopify merchants.
  • Custom hooks make authenticated requests to the Admin API.
  • File-based routing makes creating new pages easier.
  • @shopify/i18next-shopify is a plugin for i18next that allows translation files to follow the same JSON schema used by Shopify app extensions and themes.

User Roles:

  • Merchant (admin): Backend user of Shopify customizing the checkout process and adding items to the online store.
  • Prerequisite (Merchant): Needs to have a designated wallet handle with tokens inside. Or create a new wallet in the app.

Users Defined:

  • Consumer: Person buying something on Shop owners (Merchants) Shopify instance
  • Prerequisite (consumer): Needs to go through the cart checkout process and finalize a purchase. Either has an existing wallet (enter wallet name) or gets assigned a new wallet (could be the email address)

Wallets Defined:

  • Greenstand Shopify Master Wallet: This is the master wallet created on the Greenstand wallet system that enables the shopify App to create more wallets and create trust relationships to receive tokens from the wallet of the shop owner.

  • Consumer Wallet: A wallet created by the Shopify App (Using the Greenstand Shopify Master Wallet above). This wallet is created with a “trust relationship” that enables the wallet to receive tokens from the shop owner’s wallet. Complication: If the consumer already has created an outside of the shopify app, a new relationship must be established and a trust relationship must be sent (later user stories).

  • Merchant Shop Wallet: This is a wallet that is owned by the merchant and designated as the wallet to draw tokens from on the shop.

Use case:

Consumers buy items in the store and on check out opt in to receive tokens. If no wallet is known a new wallet gets created. The wallet created is fully managed by the Greenstand master account and only has a trust relationship to the “merchants master wallet”. That way tokens can not be transferred back into the merchant's master wallet which increases trust and security.

About

An Extension for the wallet app to the Shopify Point of Sales system

Resources

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages