Challenge Summary
Read the challenge specification carefully and watch the forums for any questions or feedback concerning this challenge. Let us know if you have any questions in the challenge forum!
Round 1
Submit your initial designs for checkpoint feedback01) Homepage
03) Landing Page - Dashboard
04) Schema Page
05) Connections Page
06) Offer Credentials Page
07) Issue Credentials Page
- As part of your checkpoint submission, you must upload your submission to MarvelApp so we can provide direct feedback on your designs. Please include the MarvelApp URL in your notes.txt
- Make sure all pages have the correct flow. Use the proper file numbers, (1, 2, 3, etc.)
Round 2
Submit your final designs with all checkpoint feedback implemented01) Homepage
02) Login and Signup Page
03) Landing Page - Dashboard
04) Schema Page
05) Connections Page
06) Offer Credentials Page
07) Issue Credentials Page
08) Credentials Page
09) Verification Templates Page
- As part of your Final submission, you must replace your checkpoint submission with the final submission into MarvelApp so we can provide direct feedback on your designs. Please include the MarvelApp URL in your notes.txt
- Make sure all pages have the correct flow. Use the proper file numbers, (1, 2, 3, etc.)
- If you're not submitting in the Checkpoint/Round 1, you are not eligible to submit in the Final/Round 2
CHALLENGE OBJECTIVES
- Responsive Web App (Focused on Desktop/Web)
- To create 9 Web/Desktop screens
BACKGROUND OVERVIEW
- The High-Level idea is to create a platform where an Identity Holder (a person) can store their personal data/identity digitally in a secure way using blockchain that's connected to the various party from government organizations to a private company
- The Personal Data/Identity here means data or information related to the Identity Holder that being issued by officials like immigration (Passport), Government Transportation Organizations (Driving License ), Aadhar Card, PAN Card, Educational Certificates, Experience Certificates, Customer KYC Data, Patient EMR data, Airline ticket, Enterprise Login details for employees
- Whenever the Identity Holder needs to provide their digital identity to one of the parties that connected to the platform for the specific reason for i.e, applying for a home mortgage to a Bank, they can send the digital identity via the platform
- The platform then will forward the Identity Holder request to Verifier/Service Provider which then they can check with the Issuer that publishes the identity to make sure the data is real and can be trusted
- If the data is real and trusted, then the Identity Request application for the home mortgage can continue to the next step of the home mortgage process, however, if the data cannot be identified, the Verifier/Service Provider can reject the Identity Holder home mortgage application
- As a note, this Digital Identity platform will have two different types of app:
- Desktop/Web: will be used by Issuers and Verifier/Service Provider. The organizations playing the issuer and verifier actor are supposed to use the web application to perform operations related to credential issuance and verifications.
- Mobile: will be used by Person/Identity Holder. The identity holder has to use the mobile wallet application to connect to the issuer and verification and store the issued credentials. (OUT OF SCOPE for this challenge)
TARGET AUDIENCE
- Issuer - Organizations that issue credentials to the holder based on information already possessed. Issuers can be government or different ministries within the government, state transport department, universities, employers, banks, hospitals, airlines, in fact, any enterprise. The issuers can issue the credentials to different users or entities.
- Verifier/Service Provider - Company responsible for verifying the credentials and accordingly grant/deny access to its services
- Identity Subject Holder - Person trying to prove their identity to gain access to services by a service provider. Holder possesses multiple credentials from issuers (Out of Scope)
PERSONA
- Name: Nathan
- Occupation: Verifiers at Future Bank
- Goals: Verifying applicants Identity to see if the data can be trusted
- Frustrations: Verifying Digital Identity takes a lot of time (gathering documents, investigation, etc) and effort (scattered in a different system, not in one place)
- Wants: An application that able to provide a secure, fast and integrated system to do digital identity verification
USER STORY
- Nathan daily job is to verify any potential customers/identity holders when they want to apply for a mortgage loan in the Future Bank
- As a verifier, Nathan can request the potential customers/identity holders to present their credentials and then will do verification to check the authenticity, validity of the presented credentials
- Post verifications, Nathan can offer the Future Bank Services to the users (identity holders)
- For example, a bank as a verifier can request photo id and address proof from the customer who wants to avail mortgage
- After successful verification of the presented credentials, the bank can provide a mortgage to the customer
- The mortgage document can also be modeled as a verifier credential and can be issued to the customer for another purpose
DESIGN CONSIDERATION
- Modern, Simple, and Clean design
- Seamless Navigation and enhanced Features
- Reduce the number of interactions required from users as much as possible
- Following our Guidelines
- Use color or great visual comparison to highlight a comparison of important information
- Intuitive for the user; should never be left asking "what do I do next?"
- Easy viewing for pages that may be over overcrowded with information
CHALLENGE FORUM
- If you have any doubts or questions regarding challenge requirements, please ask in our challenge forum: https://apps.topcoder.com/forums/?module=ThreadList&forumID=766132
EXPLORATION SCORE
In terms of expectations, we would like to measure the concept against the following in the one to ten scales:
- Creativity: 8
- 1: barely new ideas
- 10: a utopic product with features not proven to be able to be fully implemented
- Aesthetics: 9
- 1: low-fidelity design, wireframe or plain sketch
- 10: top-notch finished looking visual design
- Exploration: 8
- 1: strictly follow an existing reference or production guideline
- 10: open to alternative workflows/features not listed here that would help the overall application
- Branding: 7
- 1: don’t care at all about the branding just functionality
- 10: without a properly branded product there is no success
DOCUMENTATION
SCREEN REQUIREMENTS
01) Homepage
- Potential User will arrive on this page and will be able to find information details about the Digital Identity application
- Treat this page as a marketing page to explain the Digital Identity app purpose and capabilities to attract a potential user to use its service
- Link to Login and Signup page
- Open to any suggestion for the landing page content (might need to give focus on Digital Identity main features - check background overview section for more information about the app purpose)
02) Login and Signup Page
- All user need to log in to use the Digital Identity application
- At the Login page, User will be presented with the options to log in using “Login using Enterprise Credentials” or using “Verifiable credentials”
- Using “Verifiable Credentials” is a placeholder for now
- Default Enterprise Credentials Login form (Username, Password, Submit button, Forgot password, Remember me, Register Link)
- Error login scenario such as a wrong credential, Etc
- Also, provide a registration page for Issuer and Verifier/Service Provider with the following fields available in the registration form:
- Organization Name
- Organization Address
- Organization Account Email Address
- Password
- Organization Type (Government Agency, Private Company, Institution, etc)
- Roles (Issuer, Service Provider/Verifier)
- Notes: One organization can be both Issuer and Service Provider/Verifier
03) Landing Page - Dashboard
- This page will appear for Issuer and Verifier/Service Provider, only the content and features will be different. All menus and features will be available and can be accessed by both
- In this challenge, we will assume that the company will have both roles as Issuer and Verifier/Service Provider
- Main navigations:
- Dashboard
- Schemas
- Connections
- Credentials
- Verification Templates
- Account
- Settings
- Log Out
- Summary of recent activity in the platform, including:
- Summary of How many Pending Connections
- Summary of How many Connections Accepted
- Summary of How many Connections Rejected
- Summary of How many Credential Received
- Summary of How many Credential Issued
- Summary of How many Credential Rejected
- List of “Pending Connection Request” with the following information in it:
- Agent Name
- Email ID
- Connection ID
- Actions
- Created at
- Updated at
- List of “Pending Credential Request” with the following information in it:
- Agent Name
- Connection ID
- Credential Definition
- Action (Issue Credential Link)
- Created At
- Updated At
- “View All” link to see all pending “connection request” and “credential request”
- Feel free to add more information to the dashboard and be creative in presenting the data and information? Chart? Tablet? List or Card view? Etc
04) Schema Page
- This page will be used mostly by Issuer user role to Create schema for Identity Holder data and information
- Before being able to start issuing digital identity to the Identity Holder, the Issuer user needs to set up how the identity data needs to be captured.
- Each Verifier/Service Provider will ask for different kinds of identity data and the Issuer user will need to define the identity schema that suitable for the Verifier/Service Provider requirements
- In this page, show a list of the schema that has been created:
- Schema Name
- Schema Version
- Issuer
- Fields
- Created at
- Provide buttons where the Issuer can create a “New Schema” or “Import Schema”
- When the Issuer Create a new schema, provide a modal window or any other form style that you prefer and provide the following fields in the form:
- Schema Name
- Schema Version
- Attributes (custom identity fields that required for this particular schema, Issuer user can create as many fields as they needed)
- Ability to remove the field attributes
- For this challenge, Issuer user will create a new Schema called “Bank”, version “1.5”, with field attributes “Name, City, Branch, Account No”
- Ability to edit or delete the schema from the schema list (show confirmation before delete that all associated data to the schema will be deleted too)
- If any Verifier/Service Provider already defines their own schema, the Issuer user can import the schema to the system via upload/import field with additional Schema Name and Issuer Name fields also available in the form. Schemas created by other organizations can also be imported by an organization. For Example “Customer KYC” Schema created by RBI can be imported by ICICI Bank. To import schema created by another organization, the user clicks on the Import Schema button.
05) Connections Page
- If the Identity Holder applies to get services to a Verifier/Service Provider (for example, opening an account in a bank), they will need to provide their digital identity credentials and get it verified. In order to do that, the Verifier/Service provider user will send an invitation to the Identity Holder email where the Identity Holder user will need to accept the invitation. By Accepting the invitation, the Identity Holder actually requesting Issuer to help to provide their digital identity to Service Provider so it can be verified for their application (out of scope - for this challenge, we will assume the invitation has been sent)
- Each connection is uniquely identified for the Identity holder user by its connection Id
- Here are the different stages and status for a connection between any specific end-user and organization:
- Issuer Organization creates a connection invitation for the specific user. Connection state becomes “Invitation”.
- Identity Holder will use the mobile application and scan the connection invitation and accept it. Connection state changes to “Pending” meaning pending approval from the organization
- Issuer Organization browses to connection UI and approves the specific connection changing the connection state to “Accepted”
- All the connection information between Identity Holder and the issuer/verifier organization is displayed under the connection table. In this page, the Issuer/Verifier user will be able to see list of Connections request List from Identity Holders:
- Agent Name (Identity holder real name)
- Email ID
- Connection ID
- State (Invitation, Pending, Accepted)
- Action - clickable (Approve -> Offer Credential -> Request Proof)
- Created At
- Updated At
- Issuer Role Interaction
- Issuer users will be able to approve the Identity Holder connection request by clicking the “Approve” link in the Action column. If the Issuer clicks the approve link, there will be a notification sent to the Identity Holder to their mobile app that the Connection request has been accepted.
- Verifier/Service Provider Role Interaction
- This page also will be available for the verifier user
- They will be able to see the “Request Proof” action after the Issuer approves the Identity Holder connection request
- Clicking the Request Proof link in the action column will open a modal window that shows the following information:
- Title REQUEST PROOF FOR VERIFICATION
- Agent Name
- ConnectionID
- Verification Template (Dropdown to choose template)
- Table with column (to show the template content):
- Attribute Name
- Filter Name
- Filter Value
- Predicate
- Once the Service Provider/Verifier click submit button, the verification request will be sent to the Identity holder where they can provide the credential that they already have since they already requested it to the Issuer user roles earlier
06) Offer Credentials Page
- After Approving/Accepted the connection request from Identity Holder user, the next step for the Issuer users will be to “Offer Credential” where the Issuer will ask about identity data from Identity Holder Users
- Issuer users will need to click the “Offer Credential” link in Action column, and it will show modal window contains:
- Title “OFFER CREDENTIAL”
- Agent Name: Gourav Paliwal
- Connection ID: 38494x2949-df84-9303-2939gh29399
- Dropdown to choose Schema that is suitable for the Identity Holder. Issuer user will choose schema “Bank 1.5”
- Once the schema choose, there will be attributes form appear showing field text “Name, City, Branch, and Account No”
- The Issuer roles will enter the fields based on the Identity Holder data personal information
- Once the Issuer user filled in all the details and click submit, it will send the data to Identity Holder for their acceptance/approved
07) Issue Credentials Page
- The Issuer User will be able to monitor whether the Identity Holder already accept/approved the credential request via “Pending Credential Requests” in the dashboard
- If the Issuer User clicks “Issue Credential” link in the Action column under Pending Credential Request information table in the dashboard, it will show modal windows with all pre-populated field attributes schema with the identity holder information in it and the issuer user can Issue the Credential (see "Issuing Credential Screenshot").
- The Issuer User also can add some comments before sending the credential information to the Identity Holder.
08) Credentials Page
- This page will show the list of all the Credentials request & issued credentials
- For the issued credential it will also provide an option to revoke the issued credentials
09) Verification Templates Page
- This page will be used by any organization acting as a verifier. Using the verification template, any organization can define the credentials that need to be presented by the user to avail of any service from the verifier organization.
- Show list of the available template:
- Template Name
- Version
- Template ID
- Created At
- Each list item will have a dropdown where the Service Provider can see the template content (Attribute name, filter name, filter value, predicate)
- Ability to Create new Verification Template:
- Template Name
- Version
- Filter Area and Attribute Areas (can be multiple since this is the identity field that needs to be verified):
- Filter Type (Schema, Credential Definition, Schema Issuer, Credential Issuer)
- Filter Name (list of the issuer that issue the identity)
- Name
- Predicate
- Predicate Value
- For example Future bank acting as a verifier, can ask the user to submit the claims for his/her “First Name”, “Last Name”, “Postal Address”, “Age > 18” that are issued by Gov Of India:
- Template called “Bank Account Opening Template”
- version “1.0”
- Attributes name “First name, Last Name, Postal Address, Age”
- The predicate for Age is “>”
- and Predicate value is “18” (means age must be older than 18)
- Filter type “Schema”
- Filter name “Government of India”
BRANDING GUIDELINES
TARGET DEVICES
- Desktop/Web: 1440px Width with Height adjusting accordingly
MARVEL PROTOTYPE
- We need you to upload your screens to Marvel App
- Please request for marvel app in the challenge forum
- You MUST include your Marvel app URL (in your marvel app prototype, click on share and then copy the link & share it with your notes/comment on this link while you upload)
SUBMISSION AND SOURCE FILES
Submission File
- Submit JPG/PNG image files based on Challenge submission requirements stated above
- MarvelApp link for review and to provide feedback
- Declaration files document contains the following information:
Source Files
- All source files of all graphics created in either Adobe XD, Figma, Sketch, Photoshop and saved as an editable layer
FINAL FIXES
- As part of the final fixes phase, you may be asked to modify your graphics (sizes or colors) or modify overall colors
Please read the challenge specification carefully and watch the forums for any questions or feedback concerning this challenge. It is important that you monitor any updates provided by the client or Studio Admins in the forums. Please post any questions you might have for the client in the forums.