Code Monkey home page Code Monkey logo

hello-world-app-python-flask's Introduction

Deploy (Heroku instructions)

BigCommerce Sample App: Python

This is a small Flask application that implements the OAuth callback flow for BigCommerce Single Click Apps and uses the BigCommerce API to pull a list of products on a BigCommerce store. For information on how to develop apps for BigCommerce stores, see our Developer Portal.

We hope this sample gives you a good starting point for building your next killer app! What follows are steps specific to running and installing this sample application.

Registering the app with BigCommerce

  1. Create a trial store on BigCommerce
  2. Go to the Developer Portal and log in by going to "My Apps"
  3. Click the button "Create an app", enter a name for the new app, and then click "Create"
  4. You don't have to fill out all the details for your app right away, but you do need to provide some core details in section 4 (Technical). Note that if you are just getting started, you can use localhost for your hostname, but ultimately you'll need to host your app on the public Internet.
  • Auth Callback URL: https://<app hostname>/bigcommerce/callback
  • Load Callback URL: https://<app hostname>/bigcommerce/load
  • Uninstall Callback URL: https://<app hostname>/bigcommerce/uninstall
  • Remove User Callback URL: https://<app hostname>/bigcommerce/remove-user (if enabling your app for multiple users)
  1. Enable the Products - Read Only scope under OAuth scopes, which is what this sample app needs.
  2. Click Save & Close on the top right of the dialog.
  3. You'll now see your app in a list in the My Apps section of Developer Portal. Hover over it and click View Client ID. You'll need these values in the next step.

Getting started

  1. Clone this repo: git clone [email protected]:bigcommerce/hello-world-app-python-flask.git
  2. Change to the repo directory: cd hello-world-app-python-flask
  3. If you want to use virtualenv: virtualenv ENV && source ENV/bin/activate
  4. Install dependencies with pip: pip install -r requirements.txt
  5. Copy .env-example to .env
  6. Edit .env:
  • Set BC_CLIENT_ID and BC_CLIENT_SECRET to the values obtained from Developer Portal.
  • Set APP_URL to https://<app hostname>.
  • Set SESSION_SECRET to a long random string, such as that generated by os.urandom(64).
  1. Make sure to populate the database by opening a Python shell from within the app and running
    from app import db
    db.create_all()
    
  2. Run the app: python ./app.py
  3. Then follow the steps under Installing the app in your trial store.

Hosting the app

In order to install this app in a BigCommerce store, it must be hosted on the public Internet. You can get started in development by simply running python app.py to run it locally, and then use localhost in your URLs, but ultimately you will need to host it somewhere to use the app anywhere other than your development system.

Getting started (Heroku version)

  1. Click this button: Deploy
  2. Fill in the details from the app portal on the Heroku deployment page
  1. Deploy the app, and click "view" when it's done
  2. Take the callback URLs from the instructions page and plug them into the dev portal.
  3. Then follow the steps under Installing the app in your trial store.

Installing the app in your trial store

  • Login to your trial store
  • Go to the Marketplace and click My Drafts. Find the app you just created and click it.
  • A details dialog will open. Click Install and the draft app will be installed in your store.

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.