Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gil--/shopify-developer-training-plan
A thorough checklist of Shopify concepts every developer should know in the order they should learn them
https://github.com/gil--/shopify-developer-training-plan
Last synced: 26 days ago
JSON representation
A thorough checklist of Shopify concepts every developer should know in the order they should learn them
- Host: GitHub
- URL: https://github.com/gil--/shopify-developer-training-plan
- Owner: gil--
- Created: 2020-05-12T18:41:10.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-11-11T18:18:24.000Z (about 1 year ago)
- Last Synced: 2024-05-01T14:32:17.294Z (8 months ago)
- Homepage:
- Size: 33.2 KB
- Stars: 118
- Watchers: 7
- Forks: 17
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Shopify Developer Training Plan
A thorough Checklist of Shopify concepts every developer should know in the order they should learn them## Contents
- [Theme Development](#theme-development)
- [App Development](#app-development)## Theme Development
### Basics
1. Know how to create a development environment. [1](https://help.shopify.com/en/partners/dashboard/managing-stores/development-stores)
2. Understand the limitations of a development store including the use of the Bogus Payment Gateway. [2](https://help.shopify.com/en/partners/dashboard/managing-stores/test-orders-in-dev-stores#testing-using-shopifys-bogus-gateway)
3. Know how to utilize ThemeKit to sync your local development theme with the Shopify sandbox store. [3](https://shopify.github.io/themekit),[4](https://www.shopify.com/partners/blog/95401862-3-simple-steps-for-setting-up-a-local-shopify-theme-development-environment)
Resources
1. [Creating development stores](https://help.shopify.com/en/partners/dashboard/managing-stores/development-stores)
2. [Bogus Payment Gateway](https://help.shopify.com/en/partners/dashboard/managing-stores/test-orders-in-dev-stores#testing-using-shopifys-bogus-gateway)
3. [Themekit](https://shopify.github.io/themekit/)
4. [3 Simple Steps for Setting Up a Local Shopify Theme Development Environment](https://www.shopify.com/partners/blog/95401862-3-simple-steps-for-setting-up-a-local-shopify-theme-development-environment)### Products
1. Know about Product Variants. [1](https://help.shopify.com/en/manual/products/variants), [4](https://www.youtube.com/watch?v=UUIP1n_9kP8)
2. Know about the 100 Variant limit and 3 option limit. [2](https://help.shopify.com/en/manual/products/variants/add-variants#considerations-for-adding-variants)
3. Know what options exist to accomidate the 100 variant limit. [3](https://paulnrogers.com/getting-around-the-shopify-product-variants-limit/)
Resources
1. [Product Variants](https://help.shopify.com/en/manual/products/variants)
2. [Variant limitations](https://help.shopify.com/en/manual/products/variants/add-variants#considerations-for-adding-variants)
3. [Getting Around the Shopify Product Variant Limit](https://paulnrogers.com/getting-around-the-shopify-product-variants-limit/)
4. [How to Add Variants to Products (Video)](https://www.youtube.com/watch?v=UUIP1n_9kP8)### Liquid basics
1. Understand the basics of liquid including tags and filters. [1](https://shopify.github.io/liquid/basics/introduction/)
2. Know Shopify's specific objects, tags, and filters. [2](https://shopify.dev/docs/themes/liquid/reference), [3](https://www.christhefreelancer.com/shopify-liquid-guide/)
3. Know of the Shopify liquid cheatsheet. [4](https://www.shopify.com/partners/shopify-cheat-sheet)
4. Know of the Snippets Library. [5](https://shopify.github.io/liquid-code-examples/)
Resources
1. [Liquid Introduction](https://shopify.github.io/liquid/basics/introduction/)
2. [Shopify's Liquid introduction](https://shopify.dev/docs/themes/liquid/reference)
3. [Shopify Liquid The Ultimate Guide](https://www.christhefreelancer.com/shopify-liquid-guide/)
4. [Shopify Liquid Cheatsheet](https://www.shopify.com/partners/shopify-cheat-sheet)
5. [Snippets Library](https://shopify.github.io/liquid-code-examples/)### Route object
1. Know the routes object why it's important for multi-lingual stores. [1]
Resources
1. [Routes Object](https://shopify.dev/docs/themes/liquid/reference/objects/routes)
### Translations
1. Know how to leverage translations keys and the `| t` liquid filter for Shopify translations. [1](https://shopify.dev/tutorials/develop-theme-localization-use-translation-keys)
2. Know how to avoid escaping html through the use of `_html` translation keys. [2](https://shopify.dev/tutorials/develop-theme-localization-use-translation-keys#including-html-in-translation-keys)
3. Know where in the Shopify admin a merchant can directly make translation updates. [3](https://help.shopify.com/en/manual/using-themes/translate-theme)
4. Understand how multi-lingual translations operate. [4](https://help.shopify.com/en/manual/sell-online/multilingual-online-store)
5. Understand how to develop themes to support multi-lingual stores. [5](https://shopify.dev/tutorials/support-multiple-languages-in-apps-and-themes#developing-themes-that-support-multiple-languages)
Resources
1. [Translation keys and the t filter](https://shopify.dev/tutorials/develop-theme-localization-use-translation-keys)
2. [Including HTML in translation keys](https://shopify.dev/tutorials/develop-theme-localization-use-translation-keys#including-html-in-translation-keys)
3. [Translating your store](https://help.shopify.com/en/manual/using-themes/translate-theme)
4. [Multilingual Stores](https://help.shopify.com/en/manual/sell-online/multilingual-online-store)
5. [Developing themes that support multiple languages](https://shopify.dev/tutorials/support-multiple-languages-in-apps-and-themes#developing-themes-that-support-multiple-languages)### Alternate Templates
1. Understand how to create and leverage alternative templates. [1](https://shopify.dev/tutorials/customize-theme-create-alternate-templates)
Resources
1. [Create alternate templates](https://shopify.dev/tutorials/customize-theme-create-alternate-templates)
### Metafields
1. Know what a metafield is. [1](https://help.shopify.com/en/manual/products/metafields/index)
2. Know what the metafield object is. [2](https://shopify.dev/docs/themes/liquid/reference/objects/metafield)
3. Know how to show metafields in the theme. [3](https://help.shopify.com/en/manual/products/metafields/index#show-metafields-in-the-storefront),[4](https://www.shopify.com/partners/blog/110057030-using-metafields-in-your-shopify-theme)
4. Understand when and how to use private metafields. [5](https://shopify.dev/tutorials/store-data-in-metafields#private-metafields)
Resources
1. [Metafields](https://help.shopify.com/en/manual/products/metafields/index)
2. [Metafield object](https://shopify.dev/docs/themes/liquid/reference/objects/metafield)
3. [Show Metafields in the storefront](https://help.shopify.com/en/manual/products/metafields/index#show-metafields-in-the-storefront)
4. [Using Metafields in your Shopify theme](https://www.shopify.com/partners/blog/110057030-using-metafields-in-your-shopify-theme)
5. [Private metafields](https://shopify.dev/tutorials/store-data-in-metafields#private-metafields)### Tags
1. Understand creating and using tags. [1](https://help.shopify.com/en/manual/productivity-tools/using-tags)
2. Understand the valid formats of a tag. [2](https://help.shopify.com/en/manual/products/details/tags)
3. Understand the limitations of a tag. Such as a maximum of 250 tags per product.
4. Know how to leverage product tags for collection filtering and the limitations. [3](https://shopify.dev/tutorials/customize-theme-filter-collections-with-product-tags)
Resources
1. [Creating and using Tags](https://help.shopify.com/en/manual/productivity-tools/using-tags)
2. [Tag formats](https://help.shopify.com/en/manual/products/details/tags)
3. [Filter collections with product tags](https://shopify.dev/tutorials/customize-theme-filter-collections-with-product-tags)### Metafields vs Tags
1. Understand when to use a Shopify Tag vs a Metafield. [1](https://paulnrogers.com/shopify-tags-vs-metafields/)
Resources
1. [Tags vs Metafields in Shopify and Shopify Plus](https://paulnrogers.com/shopify-tags-vs-metafields/)
### Line Item Property
1. Understand what a line item property is. [1](https://shopify.dev/docs/themes/liquid/reference/objects/line_item#line_item-properties)
2. Understand how to surface line item properties as custom inputs in a theme. [2](https://ui-elements-generator.myshopify.com/pages/line-item-property)
3. Know how to hide line item properties from the customer in checkout using the `_` prefix. [3](https://community.shopify.com/c/Shopify-Design/Product-pages-Get-customization-information-for-products/m-p/616525#hide-line-item-properties)
Resources
1. [Line Item Property Object](https://shopify.dev/docs/themes/liquid/reference/objects/line_item#line_item-properties)
2. [Line Item Property Input Generator](https://ui-elements-generator.myshopify.com/pages/line-item-property)
3. [Hide Line Item Properties](https://community.shopify.com/c/Shopify-Design/Product-pages-Get-customization-information-for-products/m-p/616525#hide-line-item-properties)### Shopify Scripts
1. Understand the basics of Ruby. [1](https://www.codecademy.com/learn/learn-ruby)
2. Understand what Shopify scripts are and how to use them. [2](https://help.shopify.com/en/manual/apps/apps-by-shopify/script-editor/), [3](https://help.shopify.com/en/manual/apps/apps-by-shopify/script-editor/examples)
3. Know the Shopify Scripts API. [4](https://help.shopify.com/en/manual/apps/apps-by-shopify/script-editor/shopify-scripts)
4. Know the limitations of Script such as not being able to add products and lack of API. [5](https://help.shopify.com/en/manual/apps/apps-by-shopify/script-editor/limitations)
5. Know about the unofficial Shopify Scripts generator. [6](https://jgodson.github.io/shopify-script-creator/)Resources
1. [Learn Ruby Fundamentals](https://www.codecademy.com/learn/learn-ruby)
2. [Shopify Scripts & Script Editor](https://help.shopify.com/en/manual/apps/apps-by-shopify/script-editor/)
3. [Shopify Scripts Examples](https://help.shopify.com/en/manual/apps/apps-by-shopify/script-editor/examples)
4. [Scripts API](https://help.shopify.com/en/manual/apps/apps-by-shopify/script-editor/shopify-scripts)
5. [Limitations of Scripts](https://help.shopify.com/en/manual/apps/apps-by-shopify/script-editor/limitations)
6. [Scripts Generator](https://jgodson.github.io/shopify-script-creator/)## App Development
### App types
1. Know the differences between different types of apps (Private vs Unlisted vs Public). [1](https://help.shopify.com/en/manual/apps/app-types)
### API versioning & rate limiting
1. Understand Shopify's API Versioning scheme and quarterly release/deprecation cycle. [1](https://shopify.dev/concepts/about-apis/versioning)
2. Understand how Shopify rate limits the REST and Graphql Admin APIS. [1](https://shopify.dev/concepts/about-apis/rate-limits)
3. Know that Shopify Plus stores have double the rate limits. [1](https://shopify.dev/concepts/about-apis/rate-limits#resource-based-rate-limits)
4. Know that the popular `Shopify-api-node` library respects rate limiting and allows for configuration. [1](https://github.com/MONEI/Shopify-api-node#shopifycalllimits)### Security best practices
1. Know how to rotate credentials and why it's important. [1](https://shopify.dev/tutorials/rotate-revoke-api-credentials)
2. Know that access tokens should be encrypted at rest.
3. Know that all API requests should be verified via session before taking actions on behalf of a user.
4. Know that all user input should be cleaned and verified before saving to DB.### Useful packages
1. [Shopify API Node](https://github.com/MONEI/Shopify-api-node) - #1 package to connect to Shopify's REST API via NodeJS.
2. [Shopify Quilt](https://github.com/Shopify/quilt) - Collection of official Shopify Javascript packages.
3. [Admin-graphql-api-utilities](https://github.com/Shopify/quilt/tree/master/packages/admin-graphql-api-utilities) - Super useful package when interacting with the Storefront and Admin Graphql libraries.
4. [Polaris React](https://github.com/Shopify/polaris-react) - Shopify's official component library to create apps consistent with Shopify's UI/UX.
5. [App-bridge-react](https://www.npmjs.com/package/@shopify/app-bridge-react) - Shopify's library for creating embedded apps that interact with Shopify such as showing modals, alerts, etc.## Miscellaneous
1. Know about the developer changelog which is where Shopify announces developer facing changes and features. [1](https://shopify.dev/changelog)
Resources
1. [Developer Changelog](https://shopify.dev/changelog)