OpenSPP / openspp-base

GNU Lesser General Public License v3.0
1 stars 0 forks source link

Onboarding installer module #24

Closed jeremi closed 10 months ago

jeremi commented 1 year ago

Improved Onboarding Flow for OpenSPP

Initial Installation

  1. Default Installation:
    • Automatically install the OpenSPP theme. (theme_openspp)
    • Initialize the wizard app to guide users through setting up necessary components.

Steps in Wizard

  1. Organization Setup

    • Prompt 1: "Enter your organization name."
    • Purpose: Identify the company for record-keeping and customization.
    • Prompt 2: "Enter the organization's address."
    • Purpose: For record-keeping and location-based features.
    • Prompt 3: "Enter the organization's phone number."
    • Purpose: For contact and possibly for integrations like SMS alerts.
    • Prompt 4: "Select the organization's operating currency."
    • Purpose: To set the default currency for financial transactions.
  2. Registry Setup (g2p_registry_base)

    • Prompt 1: "Will you manage groups, individuals, or both?" (groups = g2p_registry_group, individual = g2p_registry_individual, both = g2p_registry_membership)
    • Purpose: To customize data models and interfaces.
    • Prompt 2: "Is location assignment for registrants needed?" (spp_area)
    • Purpose: To decide whether geo-tagging modules are needed.
    • Prompt 3: "Would you like to issue functional IDs?" (spp_idpass)
    • Purpose: To determine if identity management modules should be installed.
  3. Service Points

    • Prompt: "Do you need to manage service points?" (spp_service_points)
    • Purpose: To gauge whether additional logistics modules are needed.
  4. Cash Transfer (g2p_programs, spp_programs)

    • Prompt 1: "Will you be conducting cash transfers?" (g2p_entitlement_cash)
    • Purpose: To install cash transfer modules.
    • Sub-prompt: "Do you need to capture bank details?" (g2p_bank)
    • Purpose: To add functionality for storing financial information.
  5. In-Kind Transfer (g2p_programs, spp_programs)

    • Prompt: "Will you be conducting in-kind transfers?" (spp_entitlement_in_kind)
    • Purpose: To decide if modules for inventory management are needed.
  6. Grievance Redress Mechanism (GRM)

    • Prompt: "Do you require a Grievance Redress Mechanism?" (spp_helpdesk)
    • Purpose: To add modules for complaint management if needed.

At the end of the wizard, the relevant modules are installed based on the answers and the page reloaded. Also if in-kind is selected, use this opportunity to remove the default goods.

dasunhegoda commented 1 year ago

@jeremi : I researched storing bank details. While we don't need to follow PCI-DSS rules because we're not dealing with credit card data, we still need to consider other regulations like GDPR and local banking laws when storing bank account details. The regulatory requirements can be somewhat unclear and may vary depending on our specific implementation.

I will further look into this.

gonzalesedwin1123 commented 1 year ago

@nhatnm0612 The last sentence in the description "Also if in-kind is selected, use this opportunity to remove the default goods." is already handled in ticket Initialize the database without demo data

adriancris commented 10 months ago

QA Passed Working as expected