Skip to content

data61/Mirza

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,992 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Development Quick Start Guide

Clone the repo:

git clone https://github.com/data61/Mirza.git

Installing Build Dependencies

This guide assumes that you have successfully got a development enviornment set up for each of the sub projects and have been able to build all of the other projects. See also readme's for the individual projects:

Service Overview

For a full development stack you require the following services running:

Service Service Abberviation Default Port Swagger API URL
Entity Data API edapi 8020
Supply Chain Server scs 8000 http://localhost:8000/swagger-ui/#/
Organisation Registry Service or 8200 http://localhost:8200/swagger-ui/#/
Trails Service trails 8300 http://localhost:8300/swagger-ui/#/
Web Front End web 8080

Build and Run all services for development on local machine

To complete these steps you require:

  • OAuthSub: auth0|00ff00ff00ff00ff00ff00ff
  • JWK_CLIENT_IDS: XXxx00XXxx00XXxx00XXxx00XXxx00XX

If you have a running instantce one way to get your OAuth Subject is to go to your browser, visit the page serving the Mirza platform (if running locally, it will typically be http://localhost:8080). In your developer tools, look for the Application tab. Click on Local Storage and look at the cookies stored locally. In the JSON blob, find the value of the property idToken. You can decode that string via https://jwt.io/. In the decoded JSON, look for the property sub. If you logged in via Auth0, then the OAuth Sub will look like auth0|blahblahblah. Alternatively if you don't have a running instance yet you can get the OAuth Sub directly from your auth provider, for example at the time of writing this is avaliable in Auth0 at: Dashboard -> Users & Roles -> Users -> [Username] -> [...] -> View Details -> user_id

JWK_CLIENT_IDS can be found in your auth provider (e.g, Auth0)'s settings, for example at the time of writing this is avaliable in Auth0 at: Dashboard -> Applications -> [Application Name] -> Client ID

The following is a configuration which will build and start all of the services:

# Fill in your proper details here: project_root="~/some-path/" OAuthSub="auth0|00ff00ff00ff00ff00ff00ff" export JWK_CLIENT_ID="JvrGZu2gNR84nrEOu1kEC3gxpcJn9wkU" # Trails cd ${project_root}projects/trails stack build --fast # Look for: > Registering library for trails-0.1.0.0.. Completed 3 action(s). createdb devtrails stack exec trails -- initdb -c "dbname=devtrails" # Look for: Right () stack exec trails -- server -c "dbname=devtrails" & # Look for: (Logging will be to: stdout) http://localhost:8300/swagger-ui/ # OR_SCS cd ${project_root}projects/or_scs ./restart.sh & # Look for: # - CREATE DATABASE devsupplychainserver; CREATE DATABASE sql script successful # - CREATE DATABASE devmirzaorgregistry; CREATE DATABASE sql script successful # - Right () # - Listening on http://localhost:8200/swagger-ui/ # - http://localhost:8000/swagger-ui/ # Add the development user to the OrgRegistry echo ${OAuthSub} | stack exec orgRegistry -- -c "dbname=devorgregistry" user add echo -e "0000000\nDevelopment Org\nhttp://localhost:8020" | stack exec orgRegistry -- -c "dbname=devorgregistry" org add echo -e "0000000\n${OAuthSub}" | stack exec orgRegistry -- -c "dbname=devorgregistry" org addUser # EDAPI cd ${project_root}projects/entity-data-api stack build --fast export MY_HOST="localhost" # Host for EDAPI export MY_PORT="8020" # Port for EDAPI export DEST_HOST="localhost" # Dest machine host export DEST_PORT="8000" # Dest machine port export JWK_URL="https://mirza.au.auth0.com/.well-known/jwks.json" # URL where your JWK is stored export JWK_CLIENT_IDS="${JWK_CLIENT_ID}" # list of client IDs separated by , export EDAPI_DB_CONN='dbname=devedapi' # Connection string to a database where user credentials are stored export GOOGLE_MAPS_API_KEY='XXxx00XXxx00XXxx00XX_xx00-XXxx00XXxx00X' # Google maps API key for the map display on the event search. # Create and initalise the database createdb devedapi psql -d devedapi -f ${project_root}projects/entity-data-api/database/init.sql # Look for: CREATE TABLE # You need to bootstrap the first user into the EDAPI export EDAPI_MODE='Bootstrap' # Proxy | API | Bootstrap echo ${OAuthSub} | stack exec entity-data-api-proxy # Look for: Right () # Once the user has been succesfully bootstrapped you can start the server. export EDAPI_MODE='Proxy' # Proxy | API | Bootstrap stack exec entity-data-api-proxy & # Look for: Starting service on localhost:8020 # Web Front End cd ${project_root}projects/web npm install npm run start:dev

Once the service is running navigate to http://localhost:8080/ and either sign in or signup.

The following is the format of a URN: urn:epc:id:sgtin:0000000.000000.0000

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors