Giter Site home page Giter Site logo

i5okie / traction Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bcgov/traction

0.0 1.0 0.0 53.39 MB

Traction is designed with an API-first architecture layered on top of Hyperledger Aries Cloud Agent Python (ACA-Py) and streamlines the process of sending and receiving digital credentials for governments and organizations.

Home Page: https://digital.gov.bc.ca/digital-trust/tools/traction/

License: Apache License 2.0

Shell 0.32% JavaScript 0.47% Python 16.24% TypeScript 44.74% HTML 0.03% Smarty 0.82% Vue 24.24% Dockerfile 0.44% SCSS 12.69%

traction's Introduction

Traction

Traction Logo

License Lifecycle:Maturing Maintainability

Table of Contents

What is Traction?

Traction is a digital wallet solution comprised of plugins layered on top of Hyperledger Aries Cloud Agent Python (ACA-Py) and streamlines the process of sending and receiving digital credentials for governments and organizations.

Its open-source foundation makes it easy to integrate digital trust technology into existing lines of business applications, without having to stand up, maintain and manage an instance of ACA-Py themselves. Future functionality could include machine-readable governance and more.

Arch Diagram

Start using Traction

Running Traction: to run a local instance of traction, see the documentation in scripts.

Deploying Traction: Helm charts for deploying Traction and Endorser to Openshift (BC Gov Traction team specific): charts.

What are the benefits of using Traction?

Traction makes it easier to integrate digital trust technology into existing line of business applications.

  • API-first Architecture: Traction is designed with an API-first architecture, this RESTful API allows for integration into existing line-of-business applications already being used by organizations, the Tenant user interface is built on this API to enable adoption prior to integration and for low-use functions.
  • Enhanced Interoperability: Hyperledger Aries makes Traction more broadly compatible with existing technologies used by governments and organizations around the world.
  • Multi-tenancy: Rather than having multiple digital tools to integrate with organizations, one scalable instance of Traction can be used to participate in the digital trust ecosystem, control all connections, and more easily share data.
  • Higher Scalability: Traction is open-source technology, encouraging collaborative refinement, faster release, and higher scalability.

What is Traction comprised of?

Start contributing to Traction

Traction is an open-source technology project that welcomes collaboration.

If you would like to contribute to Traction, please review the following:

Developers: devcontainers

To aid in developers, there are 2 devcontainers: plugins and tenant-ui.

The devcontainers and associated vscode launch files are for convenience only, they are not mandatory for developing and debugging. Please feel free to develop anyway you choose.

  1. In VS code, open plugins.
  2. Follow all prompts to open the devcontainer.
  3. In a second VS Code window, open services/tenant-ui
  4. Follow all prompts to open the devcontainer.
  5. in plugins, start up the ACA-Py / Traction instance: Run and Debug view, "Run/Debug Plugin", start/F5
  6. in services/tenant-ui, start up the backend api: Run and Debug view, "backend - run dev", start/F5
  7. in services/tenant-ui, start up the frontend api: Run and Debug view, "frontend - run dev", start/F5
  8. in services/tenant-ui, load a Chrome browser for debugging frontend: Run and Debug view, "frontend - chrome", start/F5

If all starts up without a hitch, then you should be able to breakpoint the tenant-ui frontend (Vue/Chrome), tenant-ui backend api (Node.js) and traction plugins (Python) for local debugging.

Out of the box, the above will use the following ports:

  • ACA-Py/Traction Plugins: 3000, 3001 (admin)
  • Tenant Proxy: 8032
  • Traction DB: 5432
  • Tenant UI backend server: 8080
  • Tenant UI frontend server: 5173

Note that Tenant Proxy and Traction DB are startec via docker compose when starting ACA-Py/Traction Plugins

Repository workflow

Currently authorized users can create a branch and run a pull request to merge in changes. Unauthorized can always create a fork.

Rebasing of a branch

git fetch --all
git pull

git rebase origin/main
git push --force

Who is maintaining Traction?

The Province of British Columbia is maintaining Traction as an open-source project.

Maintainer(s):

  • Jason Sherman
  • Jason Syrotuck
  • Lucas O'Neil
  • Jamie Popkin

How is Traction licensed?

Traction is licensed under Apache License 2.0 which can be reviewed here.

Engage with the community

Connect with others

traction's People

Contributors

usingtechnology avatar loneil avatar jsyro avatar ianco avatar i5okie avatar esune avatar popkinj avatar shaangill025 avatar gavinok avatar amanji avatar jamshale avatar dependabot[bot] avatar gurcharanjeetsingh avatar krobinsonca avatar swcurran avatar matthewhall78 avatar tkuhrt avatar repo-mountie[bot] avatar

Watchers

 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.