User setup
Currently, the Growr User service supports 5 types of users:
- Node operator (super-admin): manages the Growr node configuration.
- Originator admin: manages projects, lending and funding parameters, and monitors the performance.
- Originator agent: manages operations with the borrowers.
- Investor: discovers and invests in projects.
- Borrower: onboards and subscribes to lending services.
User invitation
In order for a user to be registered, one of the following prerequisites must be met:
- The user is created by the Node operator during organization setup.
- The user is invited by an originator admin.
Process steps:
- A registered user reviews the list of users in the Lending portal.
- The user configures a new user.
- The portal routes the request to the Growr Organization service.
- Growr Organization service sends a request to the Growr User service to create a new user related to the organization.
- Growr User service creates a new record in the Users collection.
- Response message.
- Growr Organization service sends an invitation email with a link to the Lending portal and (optional) OTP code.
User registration
Currently, the Growr User service supports 3 types of registration:
- Social account (Google, Facebook): applicable to users with the type Originator admin and Investor
- Email + password: applicable to users with the type Originator admin and Investor
- Phone (USSD): applicable to users with the type Originator agent and Borrower
User registration with a social account
Prerequisite: The user has received an invitation email.
Process steps:
- An invited user opens the Lending portal and is automatically redirected to the /signup page where the user initiates the signup process.
- The Lending portal redirects the user to the authentication route of the Growr API service.
- Growr API service calls the Google authentication API.
- Google authentication server redirects the user to the authentication page.
- The user selects one of his available Google accounts and provides the requested consent.
- Google authentication server confirms the authentication and returns the user data to the Growr API service.
- Growr API service redirects the request to the Growr User service.
- Growr User service updates the record (changes the status to ACTIVE) in the Users collection.
- Growr User service returns a token to the Lending Portal. The token will be used for all subsequent calls to Growr services.
- The Lending portal lets the user in and redirects him/her to the main page (Dashboard).
User registration with email and password
Prerequisite: The user has received an invitation email with an OTP code.
Process steps:
- An invited user opens the Lending portal and is automatically redirected to the /signup page where the user initiates the signup process.
- The user enters his email (where an invitation was received), the received OTP code and configures a new password.
- The Lending portal sends a request for registration of the new user with his/her email and password.
- Growr User service validates the provided OTP code.
- Growr User service updates the record (changes the status to ACTIVE) in the Users collection.
- Growr User service returns a token to the Lending Portal. The token will be used for all subsequent calls to Growr services.
- The Lending portal lets the user in and redirects him/her to the main page (Dashboard).
User registration with phone
Prerequisite: The user has received an invitation SMS with an OTP code.
Process steps:
- An invited user dials a number to receive a USSD menu.
- The user provides the OTP code that was received as an SMS.
- The USSD provider sends a request for registration of the new user with a phone number.
- Growr User service validates the provided OTP code.
- Growr User service requests a PIN to be provided by the user.
- The user enters and confirms a PIN using the USSD menu.
- The USSD provider sends a request for PIN setting to Growr User service.
- Growr User service registers the PIN and updates the record (changes the status to ACTIVE) in the Users collection.
- Growr User service requests from Growr Identity service to create an SSCR identifier (DID) and a private key.
- The user is authorized to access the full USSD menu options.
Suspending users
Administrators (admins and/or super-admins) can temporarily block other users to prevent them from using the node services.
Process steps:
- An administrator reviews the list of users registered in the node.
- The user selects a given user from the list and requests its suspension.
- The Lending portal sends the suspension request.
- Growr User service updates the record (changes the status to BLOCKED) in the Users collection.
- Response message.
- Response message.
The steps for unblocking the user (i.e. removing his/her suspension) are the same.