Skip to content

mikeroyal/Shopify-Guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 

Repository files navigation


Shopify Guide

A guide covering Shopify including the applications and tools that will make you a better and more efficient with Shopify.

Note: You can easily convert this markdown file to a PDF in VSCode using this handy extension Markdown PDF.

Table of Contents

  1. Shopify Learning Resources

  2. Shopify Tools

  3. Ruby Development

  4. Node.js Development

  5. Python Development

  6. GraphQL Development


Shopify Learning Resources

Back to the Top

Shopify is an e-commerce platform for online stores and retail point-of-sale systems. Shopify offers online retailers a suite of services including payments, marketing, shipping and customer engagement tools. In May 2021 Google Cloud expands partnership with Shopify, forms merchant integration with Square. Shopify has said it will utilize more of Google Cloud's technology(Google Search, Maps, Images, Lens and YouTube).

Shopify Developer Platform

Shopify Admin API

Shopify Online Courses

Shopify App Store: Ecommerce App Marketplace

On-Demand Training and Webinars by Shopify

Shopify Partner Academy

Shopify Education Partners

Top Shopify Courses on Udemy

Build a Shopify Dropshipping Business from Scratch on Udemy

How to become a Shopify Expert Course on Udemy

Intro to Shopify Theme and Store Development with Liquid

Online Shopify Classes on Skillshare

Migrating to Shopify Plus

Getting Started with Migrating to Shopify Plus

Migrate your app from legacy SDKs to Shopify App Bridge

Getting started with Shopify App Bridge

Shopify Plus Transporter App is a tool that is only available for Shopify Plus customers, and can greatly assist you in importing your products, customers, order data via CSV files. The capability is divided into 2 parts. A command-line tool to extract your data, the other is to import it into Shopify Plus. The command-line tool for the extraction supports multiple platforms for a friendly CSV format to import into Shopify Plus.

The Shopify Plus Transporter App is then found in Shopify Plus to take in the CSV files and is available in the Shopify App Store. Shopify Plus enables additional API capabilities over a regular Shopify Store. It gives you capabilities in Discount API, Giftcard API, Multipass API and gives you an increase in API call limits. All of which is crucial to plan for in migration since you might have these features enabled in your platform. Also, with CSV files the average rate limit of Shopify’s API is roughly two records per second. Thus, the large datasets can take even days or weeks depending upon the data to import into Shopify via the API.

Important Note: Save your site’s current position in the search system (SEO) and set up redirection of users to a new address when migrating to the Shopify Plus platform. With the correct setting of the redirect, you will save the authority of your domain name and your current ranking position in the search engines (such as Google).

Shopify Tools

Back to the Top

Shopify Plus is the only cost-effective enterprise platform that's built for change that get your business up selling in 90 days for $2,000(USD) a month. Over 10,000 brands trust Shopify Plus.

Shopify Business name generator is a tool to create a business name and claim the domain in seconds.

Shopify Domain Name Registration is a toolthat helps you register your domain name through Shopify.

Shopify Oberlo is a tool that helps you find and add products directly into your Shopify store that you can start selling right away.

Shopify Store Themes is a tool that gives you a range of free and paid theme templates to find the right look and feel for your store. Find inspiration, discover styles, and start building your brand.

Shopify Online Store Builder is a tool that makes building your own ecommerce website supe easy. With over 70 professional and free store themes to choose from. Customize colours, imagery, and fonts with ease with no design skills required.

Shopify Point of Sale(POS) is a tools that the helps you build the most versatile retail POS for unifying in-store and online sales.

Shopify Buy Button is a tool that lets merchants generate an embeddable product card and checkout that can be placed on any type of website.

Shopify Checkout is constantly optimized for speed, conversion, and customer experience–giving you the most powerful checkout in the world handling over 2.5 billion orders processed.

Shopify Sales Channels is a tool to promote and sell on multiple sales channels all from within Shopify.

Shopify Custom Storefront Tools is a set of tools to create unique ways to sell that delight customers, build loyalty, and boost sales with custom storefront tools.

Shopify Email is a service that gives you the tools(templates to tracking) to build lasting customer relationships. No experience needed, you’ll look like an expert right from the start.

Shopify Ping is a free messaging app that lets you chat with shoppers and collaborate with your team. Use it to drive sales and build customer relationships.

Shopify Google Channel is a tool that promotes your products with free listings and run Smart Shopping campaigns to reach engaged shoppers across Google.

Shopify Payments is a service that helps accept credit cards and other popular payment methods with a payment provider that’s ready to go when you are.

Shopify Shipping is a serviec that helps you save up to 88% on shipping and send your products with confidence using simplified tools that scale with your business.

Shopify Capital is a service that helps you with quick and easy access to funds for financial support.

Ruby Development

Back to the Top


Shopify Products, Orders, and Customers APIs

Ruby Learning Resources

Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.

Ruby Documentation

Ruby Community

Ruby Gems

Ruby courses by Coursera

Learn Ruby course by Codecademy

Ruby Glossary

Ruby in Twenty Minutes Quickstart

Getting started with a Ruby on Rails application on CircleCI.

The Ruby Style Guide

Airbnb's Ruby Style Guide

Tools

RubyMine is a professional IDE developed by Jet Brains that provides support for Ruby, Ruby on Rails and web development.

Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. Understanding the MVC pattern is key to understanding Rails. MVC divides your application into three layers: Model, View, and Controller, each with a specific responsibility.

rbenv allows to pick a Ruby version for your application and guarantee that your development environment matches production. Put rbenv to work with Bundler for painless Ruby upgrades and bulletproof deployments.

Prettier for Ruby is a plugin for the Ruby programming language and its ecosystem. prettier is an opinionated code formatter that supports multiple languages and integrates with most editors. The idea is to eliminate discussions of style in code review and allow developers to get back to thinking about code design instead.

Active Admin is a Ruby on Rails framework for creating elegant backends for website administration.

Capistrano is a framework for building automated deployment scripts. Although Capistrano itself is written in Ruby, it can easily be used to deploy projects of any language or framework, be it Rails, Java, or PHP.

Spree is an open source E-commerce platform for Rails 6 with a modern UX, optional PWA frontend, REST API, GraphQL, several official extensions and 3rd party integrations.

Sidekiq is a simple, efficient background processing for Ruby. It uses hreads to handle many jobs at the same time in the same process. It does not require Rails but will integrate tightly with Rails to make background processing dead simple.

Kaminari is a Scope and Engine based, clean, powerful, and customizable paginator for modern web app frameworks and ORMs.

React-Rails is a flexible tool to use React with Rails. By integrating React.js with Rails views and controllers, the asset pipeline, or webpacker.

Pry is a runtime developer console and IRB alternative with powerful introspection capabilities.

Brakeman is a static analysis tool which checks Ruby on Rails applications for security vulnerabilities.

dotenv is a Ruby gem to load environment variables from .env.

Scientist is a Ruby library for carefully refactoring critical paths.

fastlane is a tool written in Ruby for iOS and Android developers to automate tedious tasks like generating screenshots, dealing with provisioning profiles, and releasing your application.

Fluentd collects events from various data sources and writes them to files, RDBMS, NoSQL, IaaS, SaaS, Hadoop and so on all written in Ruby.

Node.js Development

Back to the Top


Shopify Products, Orders, and Customers APIs

Node.js Learning Resources

Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine that lets developers write command line tools and server-side scripts outside of a browser.

Node.js Build Working Group maintains and controls infrastructure used for continuous integration (CI), releases, benchmarks, web hosting (of nodejs.org and other Node.js web properties) and more.

The OpenJS Foundation is made up of 32 open source JavaScript projects including Appium, Dojo, Electron, jQuery, Node.js, and webpack. The foundation's mission is to support the healthy growth of JavaScript and web technologies by providing a neutral organization to host and sustain projects, as well as collaboratively fund activities that benefit the ecosystem as a whole.

Set up NodeJS on WSL 2

Getting started with Node.js in Google Cloud

Getting Started with Node.js in AWS

Node.js App Hosting & Deployment in Microsoft Azure

The Node.js best practices list

Introduction to Node.js by W3Schools

The Node.js Community Committee

Node.js Mentorship Program Initiative

Node.js tutorial in Visual Studio Code

Server-side Development with NodeJS, Express and MongoDB on Coursera

Node.js Tools

NPM is the company behind Node package manager, the npm Registry, and npm CLI.

node-gyp is a cross-platform command-line tool written in Node.js for compiling native addon modules for Node.js. It contains a vendored copy of the gyp-next project that was previously used by the Chromium team, extended to support the development of Node.js native addons.

nvm is a version manager for node.js, designed to be installed per-user, and invoked per-shell. nvm works on any POSIX-compliant shell (sh, dash, ksh, zsh, bash), in particular on these platforms: unix, macOS, and windows WSL.

node-docker is the official Node.js docker image, made with love by the node community.

Mocha is a simple, flexible, fun JavaScript test framework for Node.js & The Browser.

AVA is a test runner for Node.js with a concise API, detailed error output, embrace of new language features and process isolation that lets you develop with confidence.

egg is a born to build better enterprise frameworks and apps with Node.js & Koa.

mysqljs is a pure node.js JavaScript Client implementing the MySQL protocol.

axios is a promise based HTTP client for the browser and node.js.

Fastify is a fast and low overhead web framework, for Node.js.

Express is a fast, unopinionated, minimalist web framework for node.

Meteor is an ultra-simple environment for building modern web applications with JavavScript.

NW.js is an app runtime based on Chromium and node.js. You can write native apps in HTML and JavaScript with NW.js. It also lets you call Node.js modules directly from the DOM and enables a new way of writing native applications with all Web technologies.

PM2 is a production process manager for Node.js applications with a built-in load balancer. It allows you to keep applications alive forever, to reload them without downtime and to facilitate common system admin tasks.

NestJS is a framework for building efficient, scalable Node.js web applications. It uses modern JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Progamming), FP (Functional Programming), and FRP (Functional Reactive Programming).

jenkins-nodejs is a Jenkins plugin for Node.js that provides the NodeJS auto-installer, allowing to create as many NodeJS installations "profiles" as you want.

Strapi is an open source Node.js Headless CMS to easily build customisable APIs.

Standard is a JavaScript Style Guide, with linter & automatic code fixer.

React Starter Kit is an isomorphic web app boilerplate for web development built on top of Node.js, Express, GraphQL and React, containing modern web development tools such as Webpack, Babel and Browsersync. Helping you to stay productive following the best practices.

Hexo is a A fast, simple & powerful blog framework, powered by Node.js.

Python Development

Back to the Top


Shopify Products, Orders, and Customers APIs

Python Learning Resources

Python is an interpreted, high-level programming language. Python is used heavily in the fields of Data Science and Machine Learning.

Python Developer’s Guide is a comprehensive resource for contributing to Python – for both new and experienced contributors. It is maintained by the same community that maintains Python.

Azure Functions Python developer guide is an introduction to developing Azure Functions using Python. The content below assumes that you've already read the Azure Functions developers guide.

CheckiO is a programming learning platform and a gamified website that teaches Python through solving code challenges and competing for the most elegant and creative solutions.

Python Institute

PCEP – Certified Entry-Level Python Programmer certification

PCAP – Certified Associate in Python Programming certification

PCPP – Certified Professional in Python Programming 1 certification

PCPP – Certified Professional in Python Programming 2

MTA: Introduction to Programming Using Python Certification

Getting Started with Python in Visual Studio Code

Google's Python Style Guide

Google's Python Education Class

Real Python

The Python Open Source Computer Science Degree by Forrest Knight

Intro to Python for Data Science

Intro to Python by W3schools

Codecademy's Python 3 course

Learn Python with Online Courses and Classes from edX

Python Courses Online from Coursera

Python Frameworks and Tools

Python Package Index (PyPI) is a repository of software for the Python programming language. PyPI helps you find and install software developed and shared by the Python community.

PyCharm is the best IDE I've ever used. With PyCharm, you can access the command line, connect to a database, create a virtual environment, and manage your version control system all in one place, saving time by avoiding constantly switching between windows.

Python Tools for Visual Studio(PTVS) is a free, open source plugin that turns Visual Studio into a Python IDE. It supports editing, browsing, IntelliSense, mixed Python/C++ debugging, remote Linux/MacOS debugging, profiling, IPython, and web development with Django and other frameworks.

Pylance is an extension that works alongside Python in Visual Studio Code to provide performant language support. Under the hood, Pylance is powered by Pyright, Microsoft's static type checking tool.

Pyright is a fast type checker meant for large Python source bases. It can run in a “watch” mode and performs fast incremental updates when files are modified.

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.

Flask is a micro web framework written in Python. It is classified as a microframework because it does not require particular tools or libraries.

Web2py is an open-source web application framework written in Python allowing allows web developers to program dynamic web content. One web2py instance can run multiple web sites using different databases.

AWS Chalice is a framework for writing serverless apps in python. It allows you to quickly create and deploy applications that use AWS Lambda.

Tornado is a Python web framework and asynchronous networking library. Tornado uses a non-blocking network I/O, which can scale to tens of thousands of open connections.

HTTPie is a command line HTTP client that makes CLI interaction with web services as easy as possible. HTTPie is designed for testing, debugging, and generally interacting with APIs & HTTP servers.

Scrapy is a fast high-level web crawling and web scraping framework, used to crawl websites and extract structured data from their pages. It can be used for a wide range of purposes, from data mining to monitoring and automated testing.

Sentry is a service that helps you monitor and fix crashes in realtime. The server is in Python, but it contains a full API for sending events from any language, in any application.

Pipenv is a tool that aims to bring the best of all packaging worlds (bundler, composer, npm, cargo, yarn, etc.) to the Python world.

Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.

Bottle is a fast, simple and lightweight WSGI micro web-framework for Python. It is distributed as a single file module and has no dependencies other than the Python Standard Library.

CherryPy is a minimalist Python object-oriented HTTP web framework.

Sanic is a Python 3.6+ web server and web framework that's written to go fast.

Pyramid is a small and fast open source Python web framework. It makes real-world web application development and deployment more fun and more productive.

TurboGears is a hybrid web framework able to act both as a Full Stack framework or as a Microframework.

Falcon is a reliable, high-performance Python web framework for building large-scale app backends and microservices with support for MongoDB, Pluggable Applications and autogenerated Admin.

Neural Network Intelligence(NNI) is an open source AutoML toolkit for automate machine learning lifecycle, including Feature Engineering, Neural Architecture Search, Model Compression and Hyperparameter Tuning.

Dash is a popular Python framework for building ML & data science web apps for Python, R, Julia, and Jupyter.

Luigi is a Python module that helps you build complex pipelines of batch jobs. It handles dependency resolution, workflow management, visualization etc. It also comes with Hadoop support built-in.

Locust is an easy to use, scriptable and scalable performance testing tool.

spaCy is a library for advanced Natural Language Processing in Python and Cython.

NumPy is the fundamental package needed for scientific computing with Python.

Pillow is a friendly PIL(Python Imaging Library) fork.

IPython is a command shell for interactive computing in multiple programming languages, originally developed for the Python programming language, that offers enhanced introspection, rich media, additional shell syntax, tab completion, and rich history.

GraphLab Create is a Python library, backed by a C++ engine, for quickly building large-scale, high-performance machine learning models.

Pandas is a fast, powerful, and easy to use open source data structrures, data analysis and manipulation tool, built on top of the Python programming language.

PuLP is an Linear Programming modeler written in python. PuLP can generate LP files and call on use highly optimized solvers, GLPK, COIN CLP/CBC, CPLEX, and GUROBI, to solve these linear problems.

Matplotlib is a 2D plotting library for creating static, animated, and interactive visualizations in Python. Matplotlib produces publication-quality figures in a variety of hardcopy formats and interactive environments across platforms.

Scikit-Learn is a simple and efficient tool for data mining and data analysis. It is built on NumPy,SciPy, and mathplotlib.

GraphQL Development

Back to the Top


Shopify Products, Orders, and Customers APIs

GraphQL Learning Resources

GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.

Learning GraphQL

GraphQL Community

GraphQL Landscape

GraphQL Foundation

GitHub GraphQL API

GraphQL Supported Programming Languages

GraphQL Code Tools

GraphQL Services

Top GraphQL Courses on Udemy

Learning GraphQL Online Classes on LinkedIn Learning

GraphQL Tutorials on Dgraph

GraphQL Training Courses on NobleProg

GraphQL: The Big Picture Course on Pluralsight

Building Scalable APIs with GraphQL on Pluralsight

Consuming a GraphQL API with Apollo Client and React on Pluralsight

Exploring GraphQL: A Query Language for APIs on edX

GraphQL Tool, Libraries, and Frameworks

GraphQL CLI is a command line tool for common GraphQL development workflows.

GraphQL Tools is a set of utils for faster development of GraphQL tools (Schema and documents loading, Schema merging and more).

GraphQL Inspector is a tool that compares schemas, validate documents, find breaking changes, find similar types, schema coverage, and more.

GraphQL Mesh is a tool that allows you to use GraphQL query language to access data in remote APIs that don't run GraphQL (and also ones that do run GraphQL). It can be used as a gateway to other services, or run as a local GraphQL schema that aggregates data from remote APIs.

GraphQL Scalars is a library of custom GraphQL scalar types for creating precise, type-safe GraphQL schemas.

GraphQL Modules is a lets you separate your backend implementation to small, reusable, easy-to-implement and easy-to-test pieces.

GraphQL Config is a tool that deos one configuration for all your GraphQL tools (supported by most tools, editors & IDEs).

GraphQLShield is a tool that helps you create a permission layer for your application. Using an intuitive rule-API, you'll gain the power of the shield engine on every request and reduce the load time of every request with smart caching. This way you can make sure your application will remain quick, and no internal data will be exposed.

GraphQL Request is a simple and flexible JavaScript GraphQL client that works in all JavaScript environments (the browser, Node.js, and React Native) - basically a lightweight wrapper around fetch.

Gatsby is a free and open source framework based on React that helps developers build blazing fast websites and apps.

Dgraph is a native GraphQL graph database that is built to be distributed. This makes it highly scalable, performant, and blazingly fast - even for complex queries over terabytes of data.

GraphQL.js is a general-purpose library and can be used both in a Node server and in the browser. As an example, the GraphiQL tool is built with GraphQL.js. So building a project using GraphQL.js with webpack or rollup should just work and only include the portions of the library you use.

urql is a GraphQL client that exposes a set of helpers for several frameworks. It's built to be highly customisable and versatile so you can take it from getting started with your first GraphQL project all the way to building complex apps and experimenting with GraphQL clients.

React Starter Kit is an isomorphic web app boilerplate for web development built on top of Node.js, Express, GraphQL and React, containing modern web development tools such as Webpack, Babel and Browsersync. Helping you to stay productive following the best practices.

React Hook Form is a performant, flexible and extensible forms with easy to use validation(Web + React Native).

Apollo Client is a fully-featured caching GraphQL client with integrations for React, Angular, and more. It allows you to easily build UI components that fetch data via GraphQL.

Relay is Facebook's framework for building React applications that talk to a GraphQL backend.

Strapi is an open source Node.js Headless CMS to easily build customisable APIs.

Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary.

Hasura GraphQL Engine is a blazing-fast GraphQL server that gives you instant, realtime GraphQL APIs over Postgres, with webhook triggers on database events, and remote schemas for business logic.

Nest is a framework for building efficient, scalable Node.js server-side applications. It uses modern JavaScript, is built with TypeScript (preserves compatibility with pure JavaScript) and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Reactive Programming).

Postgraphile is a tool that builds a powerful, extensible and performant GraphQL API from a PostgreSQL schema in seconds; saving you weeks if not months of development time.

Meteor is an ultra-simple environment for building modern web applications with JavavScript.

mysqljs is a pure node.js JavaScript Client implementing the MySQL protocol.

axios is a promise based HTTP client for the browser and node.js.

Lokka simple JavaScript GraphQL client that works in all JavaScript environments (the browser, Node.js, and React Native).

Storybook is a development environment for UI components. It allows you to browse a component library, view the different states of each component, and interactively develop and test components.It works with React, Vue, Angular, Ember, and other web frameworks.

Next.js is a React Framework for production gives you the best developer experience with all the features needed for production such as hybrid static & server rendering, TypeScript support, smart bundling, route pre-fetching, and more.

React Boilerplate is a highly scalable, offline-first foundation with the best developer experience and a focus on performance and best practices.

TypeORM is an ORM that can run in NodeJS, Browser, Cordova, PhoneGap, Ionic, React Native, NativeScript, Expo, and Electron platforms and can be used with TypeScript and JavaScript (ES5, ES6, ES7, ES8).

Enzyme is a JavaScript Testing utility for React that makes it easier to test your React Components' output. The user can also manipulate, traverse, and in some ways simulate runtime given the output.

RxDB is a NoSQL-database for JavaScript Applications like Websites, hybrid Apps, Electron-Apps, Progressive Web Apps and NodeJs.

Redux is a predictable state container for JavaScript apps.

Inferno is an insanely fast, React-like library for building high-performance user interfaces on both the client and server.

Expo is an open-source platform for making universal native apps with React.

React Native Windows is a ramework for building native Windows apps with React. React Native is a framework developed by Facebook that enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React.

ReactiveUI is a composable, cross-platform model-view-viewmodel framework for all .NET platforms that is inspired by functional reactive programming, which is a paradigm that allows you to abstract mutable state away from your user interfaces and express the idea around a feature in one readable place and improve the testability of your application.

Ant Design is an enterprise-class UI design language and React UI library.

Material-UI is a collection of React components for faster and simpler web development.

Chakra UI is a set of accessible, reusable, and composable React components that make it super easy to create websites and apps.

Contribute

  • If would you like to contribute to this guide simply make a Pull Request.

License

Back to the Top

Distributed under the Creative Commons Attribution 4.0 International (CC BY 4.0) Public License.