Giter VIP home page Giter VIP logo

credebl / platform Goto Github PK

View Code? Open in Web Editor NEW
30.0 30.0 12.0 13.71 MB

Open source, Open standards based Decentralised Identity & Verifiable Credentials Platform

License: Apache License 2.0

JavaScript 0.24% Shell 1.53% TypeScript 98.23%
decentralized-identity digital-public-goods digital-public-infrastructure digital-trust-ecosystems digitaltrust dpg dpi foundational-identity national-identity privacy-preserving-technologies public-good public-goods self-sovereign-identity verifiable-credentials w3c-did w3c-vc

platform's People

Contributors

16-karan avatar ajile-in avatar ankita-p17 avatar bhavanakarwade avatar ghkrishna avatar kamblesahil3 avatar kulkarnishashank avatar moulikakulkarni avatar nishad-ayanworks avatar pallavighule avatar pranalidhanavade avatar prano041199 avatar rinkalbhojani avatar sairanjit avatar sanjay-k1910 avatar sheetal-ayanworks avatar shitrerohit avatar tipusinghaw avatar vivekayanworks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

platform's Issues

feat: enable/ disable ecosystem

User Story:
As the platform owner, I want to be able to enable the ecosystem feature in the CREDEBL platform, so that organizations can use this feature.

Role: Platform Owner

feat: Capture User Recent Activity (BE & FE)

  • Create an Activity model in prisma for users activity
  • Create a service for creation of users recent activity
  • Create an GET API for user recent activity
  • Integrate GET API of users recent activity on the frontend user dashboard
  • Worked on the prisma migrate functionality

Efficient Credential Verification Management for Verifiers

Description of feature / user story

As an verifier, I need the capability to perform the following actions:

  • Efficiently manage credential verification by sending verification requests to users.
  • Tracking the status and history of these requests.
  • Deleting verification requests when needed.
  • Access to view credential proof records and verify the authenticity of credentials.

Acceptance Criteria

  1. Billing:
    Given: I am logged into the billing system.
    When: I navigate to the Subscription page.
    Then: I should be able to view my current subscription details.

  2. Manage Users:
    Given: I am logged into the system as an administrator.
    When: I access the Manage Users section.
    Then: I should be able to view the role of each user within the organization.

  3. Manage Organization:
    Given: I am logged into the system.
    When: I go to the Manage Organization section.
    Then: I should be able to view the details of the organization.

  4. Manage Wallets:
    Given: I am logged into the system.
    When: I navigate to the Manage Wallets section.
    Then: I should be able to view the details of a specific wallet.

  5. Manage Schemas:
    Given: I am logged into the system.
    When: I access the Manage Schemas section.
    Then: I should be able to view a list of existing schemas.

  6. Credential Definitions:
    Given: I am logged into the system.
    When: I go to the Credential Definitions section.
    Then: I should be able to view a list of existing credential definitions.
    And I should be able to archive a credential definition when necess

  7. Credential Issuance:
    Given: I am logged into the system.
    When: I access the Credential Issuance section.
    Then: I should be able to view the status and history of credential issuance.

  8. Credential Verification:
    Given: I am logged into the system.
    When: I access the Credential Verification section.
    Then: I should be able to send credential verification requests to users, view the status and history of verification requests, delete verification requests when necessary, view credential proof records, verify the authenticity of credential proofs.

  9. Manage User Invitations:
    Given: I am logged into the system.
    When: I visit the Manage User Invitations page.
    Then: I should be able to view a list of sent invitations.

feat: issuance functionality-Out of band (BE)

  • Create-offer credential list GET API in Credebl platform
  • get all issue-credentials details GET API in Credebl platform
  • Create-offer credential list GET API inAFJ-Controller
  • get all issue-credentials details GET API inAFJ-Controller

Accept or Reject Invitation (backend)

User Story
As a prospective ecosystem member, I want to be able to accept or reject invitations to join an ecosystem, So that I can decide and act accordingly based on the invitation received.

Role: Ecosystem Member

  • Create Accept and Reject invitation API

Ecosystem Role guard

  • Create an Ecosystem role guard to manage the Ecosystem APIs according to roles.

feat: tenant details for multi-tenant agent on webhook

  • Get tenant details on multi-tenant agent webhook.
  • Filter and store the connection details from webhook based on tenant Id(Org).
  • Filter and store the credential details from webhook based on tenant Id(Org).
  • Filter and store the verification details from webhook based on tenant Id(Org).
  • Research on supabase real-time for web-notification

feat: billing (Subscription) plan management for admin, issuer, verifier & member

Description of feature / user story

As an admin, issuer, verifier and member , I need the capability to perform the following action:

  • Capability to access and review the organization's subscription and billing details.

Acceptance Criteria

  1. Access Permissions:
    Given: I am an Admin or an authorized member,
    When: I attempt to access the subscription and billing details,
    Then: I should have the necessary permissions to do so.

  2. View Subscription Plans:
    Given: I have access to the subscription and billing details,
    When: I navigate to the subscription page,
    Then: I can see a list of active subscription plans for the organization, including plan names, pricing, features, and billing frequency.

  3. Current Subscription:
    Given: I have access to the subscription and billing details,
    When: I access the subscription information,
    Then: I can view the organization's current subscription plan, along with the next billing date.

  4. Billing History:
    Given: I have access to the subscription and billing details,
    When: I want to review past billing statements,
    Then: I can access a billing history or invoice archive, allowing me to review past billing statements for the organization.

  5. Payment Method:
    Given: I have access to the subscription and billing details,
    When: I check the payment information,
    Then: I can view the currently registered payment method for the organization's subscription.

feat: efficient subscription, role, and organization management for members

Description of feature / user story

As an Member, I need the capability to perform the following actions:

  • Access information about my subscription.
  • Gain clarity about my role, access organization details, review my wallet.
  • Examine schemas, and monitor the progress of credential issuance.
  • Verification, and invitations within our organization.

Acceptance Criteria

  1. Billing:
    Given I am a member in the system.
    When I access the Billing section.
    Then I should be able to view my subscription.

  2. Manage Users:
    Given I am a user in the system.
    When I go to the Manage Users section.
    Then I should be able to view a user's role within the organization.

  3. Manage Organization:
    Given I am a user in the system.
    When I navigate to the Manage Organization section.
    Then I should be able to view the details of the organization.

  4. Manage Wallets:
    Given I am a user in the system.
    When I go to the Manage Wallets section.
    Then I should be able to view the details of a wallet.

  5. Manage Schemas:
    Given I am a user in the system.
    When I access the Manage Schemas section.
    Then I should be able to view existing schemas.

  6. Credential Definitions:
    Given I am a user in the system.
    When I visit the Credential Definitions section.
    Then I should be able to view existing credential definitions.

  7. Credential Issuance: I should be able to view the status and history of credential issuance.
    Given I am a user in the system.
    When I access the Credential Issuance section.
    Then I should be able to view the status and history of credential issuance.

  8. Credential Verification:
    Given I am a user in the system.
    When I access the Credential Verification section.
    Then I should be able to view the status and history of verification requests.
    And I should be able to view credential proof records.

  9. Manage User Invitations:
    Given I am a user in the system.
    When I visit the Manage User Invitations page.
    Then I should be able to view a list of sent invitations.

feat: billing (Subscription) plan management for Platform users and owners

Description of feature / user story

As a platform user and owner, I need the capability to perform the following actions:

  • Capability to access, select, and modify my subscription plan from a variety of choices.
  • Ability to update my payment method to ensure smooth and uninterrupted billing processes.

Access information about my subscription.

  1. View Subscription Plans:
    Given: I am logged into the platform,
    When: I access the subscription page,
    Then: I can see a clear list of available subscription plans, including details such as pricing, features, and billing frequency.

  2. Select Subscription:
    Given: I am on the subscription page with a list of available plans,
    When: I select a subscription plan from the list,
    Then: the system provides a confirmation step before making the change.

  3. Change Subscription:
    Given: I am logged into the platform,
    When: I navigate to my account settings and I choose to change my subscription plan,
    Then: the system guides me through the process, ensuring I understand the implications of the change.

  4. Payment Method:
    Given: I am logged into the platform,
    When: I access my account settings and I choose to manage my payment method,
    Then: I can add or update my payment method (e.g., credit card, PayPal) securely.

  5. Payment Confirmation:
    Given: I have added or updated my payment method,
    When: I complete the process,
    Then: I receive a confirmation message,
    And I have a chance to review the payment details before saving.

  6. Billing Information:
    Given: I am logged into my account,
    When: I access the billing section,
    Then: my account displays accurate billing information, including the current subscription plan, next billing date, and payment method on file.

  7. Billing Notifications:
    Given: I have an active subscription,
    When: upcoming subscription renewals are due,
    Then: I receive email notifications for these renewals and I receive email notifications for successful payments.

  • Design subscription plan page
  • Design Free subscription plan page
  • Design Pro subscription page

feat: invite an organization to join Ecosystem (BE)

User Story
As the ecosystem owner or lead, I want to be able to send email invitations to Organization owners to join the ecosystem as an ecosystem member, So that Organizations can participate in the ecosystem.

Role: Ecosystem Owner, Ecosystem Lead

  • Create an ecosystem repository
  • Create send invitation to Organization to join Ecosystem - Nishad
  • Display sent ecosystem invitations to Ecosystem Lead - Nishad
  • Display received ecosystem invitations to Ecosystem Lead - Bhavana
  • Delete pending ecosystem invitations - Bhavana

Fetched Ecosystem invitations (backend)

User Story
As an ecosystem member, I want to be able to receive ecosystem invitations within the platform so that I can seamlessly connect with Ecosystem.

Role- Ecosystem Member

  • Develop get received Ecosystem invitations API

feat: JSON-LD create schema

  • Create JSON-LD schema in AFJ-Controller
  • Create a GitHub link where find and access the published schema
  • JSON-LD schema list

Organization and Credential Management with Owner Privileges

Description of feature / user story

As the owner, I need the capability to perform the following actions:

  • Create, edit, view, and delete organizations, wallets, schemas, and credential definitions.
  • Issue, view, and revoke credentials.
  • Send, view, and delete credential verification requests.

Acceptance Criteria

  1. Subscription Management:
    Given: I am the owner with access to subscription management.
    When: I choose a subscription plan or change the current subscription plan.
    Then: The system updates my subscription plan accordingly. I can view the details of the current subscription, add a payment
    method for subscription billing, and change the payment method for subscription billing.

  2. Billing:
    Given: I am the owner with access to billing information.
    When: I access the billing section.
    Then: I can view and download invoices and receipts for my organization's subscription.

  3. Manage Users:
    Given: I am the owner with user management privileges.
    When: I access the user management section.
    Then: I can change a user's organization role, view a user's role within the organization, and remove a user from an organization.

  4. Manage Organization:
    Given: I am the owner with organization management rights.
    When: I access the organization management section.
    Then: I can create a new organization, edit the details of an existing organization, view the details of an organization, and delete an organization.

  5. Manage Wallets:
    Given: I am the owner with wallet management privileges.
    When: I access the wallet management section.
    Then: I can create a new wallet, view the details of a wallet, and delete a wallet.

  6. Manage Schemas:
    Given: I am the owner with schema management rights.
    When: I access the schema management section.
    Then: I can create a new schema, view existing schemas, and archive schemas for future reference.

  7. Credential Definitions:
    Given: I am the owner with credential definition management privileges.
    When: I access the credential definition management section.
    Then: I can create a new credential definition, view existing credential definitions, and archive credential definitions.

  8. Credential Issuance:
    Given: I am the owner with credential issuance capabilities.
    When: I access the credential issuance section.
    Then: I can issue credentials to users, view the status and history of credential issuance, and revoke previously issued credentials.

  9. Credential Verification:
    Given: I am the owner with credential verification rights.
    When: I access the credential verification section.
    Then: I can send credential verification requests to users, view the status and history of verification requests, delete verification requests when necessary, view credential proof records, verify credential proof, and delete proof records.

  10. Manage User Invitations:
    Given: I am the owner with user invitation management privileges.
    When: I access the user invitation management section.
    Then: I can send invitations to users, view a list of sent invitations, resend invitations if necessary, and delete sent invitations

Efficient User Invitation Management with Admin privilages

Description of feature / user story

As an admin, I need the capability to perform the following actions:

  • Send, track, and manage user invitations, including the ability to resend and delete previously sent invitations.
  • This will help streamline the processes of user onboarding and access control.

Acceptance Criteria

1: Billing
Given: I am an admin.
When: I access the billing section.
Then: I should be able to view the subscription details.

2: Manage Users
Given: I am an admin.
When: I navigate to user management.
Then: I should be able to change a user's organization role (except owner). View a user's role within the organization. Remove a user from an organization (except owner).

3: Manage Organization
Given: I am an admin.
When: I access organization management.
Then: I should be able to edit the details of an existing organization. View the details of an organization.

4: Manage Wallets
Given: I am an admin.
When: I go to wallet management.
Then: I should be able to create a new wallet. View the details of a wallet.

5: Manage Schemas
Given: I am an admin.
When: I access schema management.
Then: I should be able to create a new schema. View existing schemas. Archive schemas for future reference.

6: Credential Definitions
Given: I am an admin.
When: I navigate to credential definition management.
Then: I should be able to create a new credential definition. View existing credential definitions. Archive credential definitions.

7: Credential Issuance
Given: I am an admin.
When: I perform credential issuance.
Then: I should be able to issue credentials to users. View the status and history of credential issuance. Revoke previously issued credentials.

8: Credential Verification
Given: I am an admin.
When: I engage in credential verification.
Then: I should be able to send credential verification requests to users. View the status and history of verification requests. Delete verification requests when necessary. View credential proof records. Verify credential proof. Delete proof records.

9: Manage User Invitations
Given: I am an admin.
When: I manage user invitations.
Then: I should be able to send invitations to users. View a list of sent invitations. Resend invitations if necessary. Delete sent invitations.

feat: transaction Endorser (Platform)

  • POST - Schema sign request ecosystem member
  • POST - Credential-definition sign request ecosystem member
  • POST - Schema and sign and submit by ecosystem lead
  • POST - Credential-definition submit on ledger by ecosystem member
  • Create EndorseTransactions table
  • Create sub-wallet if ecosystem lead enables multitenancy

Efficient Credential Issuance Management for Issuers

Description of feature / user story

As an issuer, I need the capability to perform the following actions:

  • Management of credential issuance.
  • Enabling me to effortlessly issue credentials to users.
  • Monitor the issuance status and history.
  • Capability to revoke credentials when required.

Acceptance Criteria

  1. Billing:
    Given: I am logged into the billing system as issuer.
    When: I navigate to the Subscription page.
    Then: I should be able to view my current subscription details.

  2. Manage Users:
    Given: I am logged into the system as issuer.
    When: I access the Manage Users section.
    Then: I should be able to view the role of each user within the organization.

  3. Manage Organization:
    Given: I am logged into the system as issuer.
    When: I go to the Manage Organization section.
    Then: I should be able to view the details of the organization.

  4. Manage Wallets:
    Given: I am logged into the system as issuer.
    When: I navigate to the Manage Wallets section.
    Then: I should be able to view the details of a specific wallet.

  5. Manage Schemas:
    Given: I am logged into the system as issuer.
    When: I access the Manage Schemas section.
    Then: I should be able to view a list of existing schemas.

  6. Credential Definitions:
    Given: I am logged into the system as issuer.
    When: I go to the Credential Definitions section.
    Then: I should be able to view a list of existing credential definitions.

  7. Credential Issuance:
    Given: I am logged into the system as issuer.
    When: I issue credentials to a user.
    Then: I should be able to view the status and history of credential issuance, as well as the ability to revoke previously issued credentials.

  8. Credential Verification:
    Given: I am logged into the system as issuer.
    When: I access the Credential Verification section.
    Then: I should be able to view the status and history of verification requests.

  9. Manage User Invitations:
    Given: I am logged into the system as issuer.
    When: I visit the Manage User Invitations page.
    Then: I should be able to view a list of sent invitations.

refactor: convert id of tables to uuid

  • Refactor schema.prisma for the uuid as unique constraint
  • Remove all the id references to uuid.
  • Refactor all the interfaces from id number to uuid string datatype on frontend

feat: issuance & verification (OOB)

  • Issuance out-of-band API for dedicated and shared agent in afj-controller
  • Verification out-of-band API for dedicated and shared agent in afj-controller
  • Patch @aries-framework/anoncreds package for the Out Of Band API in afj-controller
  • Issuance out-of-band API integrate in platform
  • Verification out-of-band API integrate in platform
  • Email service for sending and confirming emails for out-of-band issuance and verification

feat: create and edit ecosystem (BE)

User Story: As the organization owner, I want to be able to create an ecosystem within the platform, So that we can enhance collaboration and manage our resources effectively.
Role: Ecosystem Owner, Ecosystem Lead

Task:

  • Create an ecosystem MS and implement the required tables
  • Create an API to create ecosystem
  • Create an API to edit ecosystem

Credential verification(Frontend)

  • Add select schema page
  • Add select credential-definition page
  • Add select connection page
  • Design select attributes and predicates page
  • API integration Create proof request for the verification page
  • Remove get schema by id API dependency
  • Add schema and credential definition for verification restriction
  • Error handling
  • Design & Display verification list
  • Integrate fetch proof request list GET API
  • Integrate accept proof request POST API
  • Integrate present-proof by id API

feat: Indicio - Mainnet

  • Add the Indicio mainnet during agent initialization in the afj-controller.
  • Add "indicio mainnet namespace" in the DID method for both dedicated and shared environments in the afj-controller
  • Add the indicio mainnet node into the ledger table
  • Indicio mainnet node setup

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.