Skip to content

Commit

Permalink
feat: add portable reputation app generation [FTL-8851] (#93)
Browse files Browse the repository at this point in the history
* feat: add portable reputation app generation

* fix: linting

* chore: add new ref app to README

* feat: update cli to latest

* chore: refactor

* chore: update cli to latest version

* chore: add line break

* chore: update README
  • Loading branch information
YoussefAWasfy authored Feb 1, 2023
1 parent 482164a commit 337eddf
Show file tree
Hide file tree
Showing 18 changed files with 163 additions and 593 deletions.
77 changes: 38 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

## What is Affinidi?

The digital world is changing, and customers today want greater control and ownership of their data. As a developer, you can meet these demands and create apps that empower your customers to better manage their privacy, data storage, and portability. In other words, customers who use apps can decide how and where their data will be used.
The digital world is changing, and customers today want greater control and ownership of their data. As a developer, you can meet these demands and create apps that empower your customers to better manage their privacy, data storage, and portability. In other words, customers who use apps can decide how and where their data will be used.

Affinidi’s vision is to empower communities with control and ownership of their data, thereby creating new business models and greater trust.
Affinidi’s vision is to empower communities with control and ownership of their data, thereby creating new business models and greater trust.

In line with this vision, Affinidi has developed an extension that provides access to Affinidi Developer Tools directly within Visual Studio Code. This extension is a one-stop place for all the tools you need to build privacy-preserving applications, without having to leave your IDE.
In line with this vision, Affinidi has developed an extension that provides access to Affinidi Developer Tools directly within Visual Studio Code. This extension is a one-stop place for all the tools you need to build privacy-preserving applications, without having to leave your IDE.

## Who is this extension for?

Expand Down Expand Up @@ -42,6 +42,7 @@ You can quickly change the active project any time by clicking on the respective
## Features

You can do a lot of things with the Affinidi extension, including:

- Manage your VC Schemas or create a new one without leaving the VS Code app,
- Manage your Issuances or perform a bulk issuance to send VCs to your customers to claim,
- Generate ready-to-use scripts and snippets – for sending a VC offer, signing a credential with Cloud Wallet, etc.,
Expand Down Expand Up @@ -74,7 +75,7 @@ We'll send emails to provided targets with a link, which they can use to claim t
## Snippets & scripts

Affinidi extension can help you with your app development by generating ready-to-use scripts and snippets with just a few clicks.
Script generators can be used to create files from scratch and they will automatically include your API Key Hash, DID and Project ID.
Script generators can be used to create files from scratch and they will automatically include your API Key Hash, DID and Project ID.

![Generate Script](./media/docs/generate_script.gif)

Expand All @@ -88,75 +89,73 @@ Snippets, on the other hand, allow you to quickly insert small examples of Affin

Available snippets:

| Name | Description | Supported Languages |
|---|---|---|
| affinidi-create-issuance | Create bulk issuance entity (using fetch) | Typescript and Javascript |
| affinidi-create-offer | Create & send bulk issuance offer (using fetch) | Typescript and Javascript |
| Name | Description | Supported Languages |
| ------------------------ | ----------------------------------------------- | ------------------------- |
| affinidi-create-issuance | Create bulk issuance entity (using fetch) | Typescript and Javascript |
| affinidi-create-offer | Create & send bulk issuance offer (using fetch) | Typescript and Javascript |

> For instructions on how to use snippets please refer to [Visual Studio Code snippets documentation](https://code.visualstudio.com/docs/editor/userdefinedsnippets).
## Reference app

If you want an end-to-end example of an application, that uses Affinidi APIs, you can generate a reference app directly from the extension.
Reference app includes such features as: issuing a credential, claiming & storing it in your wallet, verifying it.
If you want an end-to-end example implementation that uses Affinidi APIs, you can generate two types of reference applications directly from the extension.

Just click "Certification & Verification" button in "App Generators" category:
The Certification and Verification app includes such features as: issuing a credential, claiming & storing it in your wallet, verifying it.

![App Generation](./media/docs/app_generation.png)
The Portable Reputation app allows the builder to connect to different data sources to construct a portable, user-owned and -managed reputation app that provides access to specific experiences, events or memberships.

> This feature requires Affinidi CLI to be installed:
> ```
> $ npm i -g @affinidi/cli
> ```
Just click "Certification & Verification" or "Portable Reputation" buttons in "App Generators" category:

![App Generation](./media/docs/app_generation.png)

## Telemetry

Affinidi collects usage data to improve our products and services. For information on what data we collect and how we use your data, please refer to our [Privacy Policy](https://build.affinidi.com/dev-tools/privacy-policy.pdf).
Affinidi collects usage data to improve our products and services. For information on what data we collect and how we use your data, please refer to our [Privacy Policy](https://build.affinidi.com/dev-tools/privacy-policy.pdf).

## Feedback, Support, and Community

[Click here](https://github.com/affinidi/vscode-extension/issues) to create a ticket and we will get on it right away. If you are facing technical or other issues, you can reach out to us on [Discord](https://discord.com/invite/jx2hGBk5xE).
[Click here](https://github.com/affinidi/vscode-extension/issues) to create a ticket and we will get on it right away. If you are facing technical or other issues, you can reach out to us on [Discord](https://discord.com/invite/jx2hGBk5xE).

## FAQ

### A note from Affinidi
### A note from Affinidi

Affinidi Developer Tools are currently in the open beta phase and we are refining our product every day. The Affinidi Developer Tools may be incomplete and may contain errors – they may be unstable and may cause a loss of functionality and data. Use of the Affinidi Developer Tools will be at your own risk. As our engineers seek to improve our platform, we would not have the resources to provide any maintenance or tech support at this time. Please bear with us as we continue to improve the platform.
Affinidi Developer Tools are currently in the open beta phase and we are refining our product every day. The Affinidi Developer Tools may be incomplete and may contain errors – they may be unstable and may cause a loss of functionality and data. Use of the Affinidi Developer Tools will be at your own risk. As our engineers seek to improve our platform, we would not have the resources to provide any maintenance or tech support at this time. Please bear with us as we continue to improve the platform.

### What can I develop?
### What can I develop?

You are only limited by your imagination! Affinidi Developer Tools is a toolbox with which you can build software applications for personal or commercial use.
You are only limited by your imagination! Affinidi Developer Tools is a toolbox with which you can build software applications for personal or commercial use.

### Is there anything I should not develop?
### Is there anything I should not develop?

We only provide the tools - how you use them is largely up to you. We have no control over what you develop with our tools - but please use our tools responsibly!
We only provide the tools - how you use them is largely up to you. We have no control over what you develop with our tools - but please use our tools responsibly!

We hope that you would not develop anything that contravenes any applicable laws or regulations. Your projects should also not infringe on Affinidi’s or any third party’s intellectual property (for instance, misusing other parties’ data, code, logos, etc).
We hope that you would not develop anything that contravenes any applicable laws or regulations. Your projects should also not infringe on Affinidi’s or any third party’s intellectual property (for instance, misusing other parties’ data, code, logos, etc).

### What responsibilities do I have to my end-users?
### What responsibilities do I have to my end-users?

Please ensure that you have in place your own terms and conditions, privacy policies, and other safeguards to ensure that the projects you build are secure for your end users.
Please ensure that you have in place your own terms and conditions, privacy policies, and other safeguards to ensure that the projects you build are secure for your end users.

If you are processing personal data, please protect the privacy and other legal rights of your end-users and store their personal or sensitive information securely.
If you are processing personal data, please protect the privacy and other legal rights of your end-users and store their personal or sensitive information securely.

Some of our components would also require you to incorporate our end-user notices into your terms and conditions.
Some of our components would also require you to incorporate our end-user notices into your terms and conditions.

### Are Affinidi Developer Tools free for use?
### Are Affinidi Developer Tools free for use?

Affinidi Developer Tools are free during the open beta phase, so come onboard and experiment with our tools and see what you can build! We may bill for certain components in the future, but we will inform you beforehand.
Affinidi Developer Tools are free during the open beta phase, so come onboard and experiment with our tools and see what you can build! We may bill for certain components in the future, but we will inform you beforehand.

### Is there any limit or cap to my usage of the Affinidi Developer Tools?
### Is there any limit or cap to my usage of the Affinidi Developer Tools?

We may from time to time impose limits on your use of the Affinidi Developer Tools, such as limiting the number of API requests that you may make in a given duration. This is to ensure the smooth operation of the Affinidi Developer Tools so that you and all our other users can have a pleasant experience as we continue to scale and improve the Affinidi Developer Tools.
We may from time to time impose limits on your use of the Affinidi Developer Tools, such as limiting the number of API requests that you may make in a given duration. This is to ensure the smooth operation of the Affinidi Developer Tools so that you and all our other users can have a pleasant experience as we continue to scale and improve the Affinidi Developer Tools.

### Do I need to provide you with anything?
### Do I need to provide you with anything?

From time to time, we may request certain information from you to ensure that you are complying with the [Terms of Use](https://build.affinidi.com/dev-tools/terms-of-use.pdf).
From time to time, we may request certain information from you to ensure that you are complying with the [Terms of Use](https://build.affinidi.com/dev-tools/terms-of-use.pdf).

### Can I share my developer’s account with others?
### Can I share my developer’s account with others?

When you create a developer’s account with us, we will issue you your private login credentials. Please do not share this with anyone else, as you would be responsible for activities that happen under your account. If you have friends who are interested, ask them to sign up – let's build together!
When you create a developer’s account with us, we will issue you your private login credentials. Please do not share this with anyone else, as you would be responsible for activities that happen under your account. If you have friends who are interested, ask them to sign up – let's build together!

## *Disclaimer*
## _Disclaimer_

*Please note that this FAQ is provided for informational purposes only and is not to be considered a legal document. For the legal terms and conditions governing your use of the Affinidi Developer Tools, please refer to our [Terms of Use](https://build.affinidi.com/dev-tools/terms-of-use.pdf).*
_Please note that this FAQ is provided for informational purposes only and is not to be considered a legal document. For the legal terms and conditions governing your use of the Affinidi Developer Tools, please refer to our [Terms of Use](https://build.affinidi.com/dev-tools/terms-of-use.pdf)._
Binary file modified media/docs/app_generation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 337eddf

Please sign in to comment.