Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/animo/animo-demo
Interactive demo explaining the concepts of self-sovereign identity.
https://github.com/animo/animo-demo
hacktoberfest identity self sovereign typescript
Last synced: 3 days ago
JSON representation
Interactive demo explaining the concepts of self-sovereign identity.
- Host: GitHub
- URL: https://github.com/animo/animo-demo
- Owner: animo
- License: apache-2.0
- Created: 2022-01-05T13:57:42.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-01T14:15:08.000Z (over 1 year ago)
- Last Synced: 2023-03-04T02:21:25.079Z (over 1 year ago)
- Topics: hacktoberfest, identity, self, sovereign, typescript
- Language: TypeScript
- Homepage: https://demo.animo.id
- Size: 4.95 MB
- Stars: 15
- Watchers: 2
- Forks: 21
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Animo Self-Sovereign Identity Demo
[![Continuous Deployment](https://github.com/animo/animo-demo/actions/workflows/continuous-deployment.yml/badge.svg)](https://github.com/animo/animo-demo/actions/workflows/continuous-deployment.yml)
[![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)
## ✨ Hi there!
Welcome to the repository of Animo's Self-Sovereign identity demo. This interactive app demonstrates the use of verifiable credentials. This demo is built using [Aries Framework Javascript (AFJ)](https://github.com/hyperledger/aries-framework-javascript). AFJ is a framework written in TypeScript for building SSI Agents and DIDComm services. This demo uses the REST API, which is part of the [Aries Framework JavaScript Extensions](https://github.com/hyperledger/aries-framework-javascript-ext) repository.
## 🛠️ Usage
### Prerequisites
- [NodeJS](https://nodejs.org/en/) v16.X.X - Other versions may work, not tested
- [Yarn](https://classic.yarnpkg.com/en/docs/install)
- [Git](https://git-scm.com/downloads) - You probably already have this### 🖥 Client
Copy the `.env.example` file to a `.env` file and set the environment variables.
```bash
cd client
cp .env.example .env
```| Variable | Description |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `REACT_APP_HOST_BACKEND` | Used in the frontend application to connect with the backend. Should be `http://localhost:5000` for development. |
| `REACT_APP_HOST_WEBSOCKET` | Used in the frontend application to connect with the WebSocket server and listen for events. Should be `ws://localhost:5000` for development. |### 🎛️ Server
Copy the `.env.example` file to a `.env` file and set the environment variables.
```bash
cd server
cp .env.example .env
```| Variable | Description |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------ |
| `AGENT_PUBLIC_DID_SEED` | Used in the backend application for the agent. Should be set to your agent's public DID in development/production. |
| `AGENT_ENDPOINT` | Used in the backend application for the agent. Should be set to your agent's endpoint in development/production. |
| `AGENT_WALLET_KEY` | Used in the backend application for the agent. Should be set to your agent's wallet key in development/production. |### Node version
```bash
nvm use
```### Install Dependencies
```bash
yarn install
```### Development
```bash
yarn dev
```### Tests
The demo has [Cypress](https://www.cypress.io/) integration tests. To run the tests, make sure you have both the client, server and test agent running locally. You can do this by running the commands `yarn dev` in the root of the project. You can then start the tests with `yarn test`. This will open up cypress in chrome from where you can run the tests.
## 🖇️ How To Contribute
You're welcome to contribute to this demo. Please make sure to open an issue first!
This demo is open source and you're more than welcome to customize and use it to create your own self-sovereign identity demo. If you do, an attribution to [Animo](https://animo.id) would be very much appreciated!