An app for demonstrating functionality of the Percolate Developer Platform, written in Python 3 using Flask.
Defines a manifest and a Heroku app. The manifest defines both lifecycle callback and UI extension URLs, which are served by the app.
For a similar app written in Typescript, see Crostini.
To create an application server running on your own machine instead of Heroku, use the following guide.
- Create a virtualenv:
python3 -m venv venv
- Activate it:
source venv/bin/activate
- Install the required modules:
pip install -r requirements.txt
- Run the server:
python app.py
(the default port is8000
) - Verify it's working by navigating to http://localhost:8000,
you should see the string
hi
- Install ngrok
- Expose the running local server publicly:
ngrok http 8000
- Change the URL domains in the manifest to use the URL displayed by the
ngrok
command. If you see the lineForwarding https://490d31a3.ngrok.io -> http://localhost:8000
, this means that theprclt-biscotti.herokuapp.com
domains should be changed to490d31a3.ngrok.io
- Upload the modified app manifest in the "App registration" page
- Install the app in the "Manage apps" page
- Verify that your local app received callback request to
/install
in the server logs
- Stop the app if it is running
- Navigate to the app details by clicking on the app in the "App registration" page
- Click the "Show app secret" button to view the secret
- Start the app back up with the
APP_SECRET
environment variable set to the value shown, an example of this command:APP_SECRET=c12de0430670c1e251e0502aa3afb385374df5337bdd20b27b0e77fc702c9b1a \ python app.py
- Navigate to a page with a UI component served by the app and verify that the JWT payload is properly decoded - you should see a JSON payload under the "decoded" header