Giter VIP home page Giter VIP logo

product-reviews-sample-app's Introduction

Product Reviews Sample App

License: MIT

This sample app was built as a reference to show how Shopify Developer tools can be used together to create a fully functional application. The example we chose to showcase is an application that facilitates review creation for products in a Shopify store.

The application is written in Node.js and is comprised of the following elements:

Refer to the architecture diagram below to see how the application's components and Shopify interact with each other.

flowchart
    subgraph Storefront
        ratings[Show reviews on product page]
        feedback[Review form at checkout]
    end

    subgraph Shopify Admin
        ac[Embedded Node.js Application] <--> te[Theme App Extension]
        ac[Embedded Node.js Application] <--> pc[Post-Purchase Checkout Extension]
    end

    subgraph Shopify Platform
        meta[Metafield API]
        products[Product API]
        oauth[OAuth API]
    end

     classDef green fill:#9f6,stroke:#333,stroke-width:2px;
     classDef orange fill:#f96,stroke:#333,stroke-width:2px;
     class te,ratings green
     class feedback,pc orange

Tutorials and Instructions ๐Ÿ“–

Instructions are provided to show how to setup and run the various components of this code repo. Click on each one to follow an in-depth tutorial.

Technical Details ๐Ÿ’ป

To compliment the tutorials above, we have documented additional information about how various parts of the application work.

Limitations โ•

When using this code keep in mind:

  1. This is a sample application. It is not production-ready.
  2. Metafields are going to be a bigger part of the platform and will support building applications with more complex data structures.

APIs and Tools Used ๐Ÿ› ๏ธ

GraphQL

Shopify APIs have previously been available through REST, but more recently the Admin API was made available through GraphQL. Unlike REST APIs, which use multiple endpoints to return large sets of data, GraphQL uses a single endpoint with fields that can be queried to specify the data you need. This generally improves the speed of your app because itโ€™s not asking for data it doesnโ€™t intend to use.

for more information on the GraphQL Admin API, check out our reference guide.

App Bridge

Shopify App Bridge lets you embed your app directly inside the Shopify Admin. It offers React component wrappers for some actions, and is directly integrated with Polaris components. It offers a consistent experience for merchants, whether itโ€™s on the web or in the Shopify Mobile app for iOS or Android.

for more information on App Bridge, check out our reference guide.

Metafields

Metafields represent custom metadata attached to a resource (for example, a shop or a product). Metafields can be sorted into namespaces and are composed of keys, values, and value types. They can be used as a data layer to create and store a small amount of information relating to Shopify resources.

for more information on Metafields, check out our guide.

Theme App Extensions

Theme app extensions let you extend themes via app blocks. App blocks are liquid files that contain code, a schema and static resource dependencies (CSS, JS). They can be added to existing theme sections or as full-width content on the page. App blocks can also be reordered, removed and configured by merchants directly from the theme editor. Theme app extensions do not modify a theme's code, are served by Shopify, and can be cleanly uninstalled without leaving ghost code behind.

for more information on Theme App Extensions, check out our guide.

Post-Purchase Checkout Extension

Post-purchase checkout extensions give developers and Plus merchants the ability to add post-purchase interactions directly into the Shopify checkout. A post-purchase page displays a customizable UI to a buyer after their order is confirmed, but before the thank you page.

for more information on Post-Purchase Checkout Extensions, check out our guide.

Contributing

For help on setting up the repository locally, building, testing and contributing please see CONTRIBUTING.md.

Code of conduct

All developers who wish to contribute through code or issues, please first read our Code of Conduct.

License

Copyright ยฉ 2022 Shopify. See LICENSE for further details.

product-reviews-sample-app's People

Contributors

stevemar avatar meganmajewski avatar lizkenyon avatar translation-platform[bot] avatar veken1199 avatar cdagli avatar ernest-lian-shopify avatar carlzoo avatar perryraskin avatar dependabot[bot] avatar dgtlmonk avatar digitallyamar avatar translation-platform avatar

Watchers

James Cloos 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.