White Labeling Process

Step 1: Create organization branding record in the database

We need to manually run a rake task to add an organization branding record to the database when a new organization is created:

Local development environment:

   docker-compose run --rm web bundle exec rake 'Content:add_organisation_branding[<ORG_ID>]' RAILS_ENV=development

Staging and production (via Heroku bash console):

   bundle exec rake 'Content:add_organisation_branding[<ORG_ID>]' RAILS_ENV=<ENVIRONMENT>

Step 2: Adding brand assets in the portal app

To add the organization’s branding assets to the portal app, follow the following steps:

  1. Go to the Admin Portal
  2. Navigate to the Organisations section and select the desired organization
  3. Under “Manage Organisation” go to the “Branding” tab
  4. Upload the required images for Logo, Main Background, and Certificate Ribbon

This process applies to all environments. Staging portal: portal.rekindleapps.com Production portal: portal.rekindlelearning.com

Step 3: Adding client assets to flutter app

  1. Create subfolders for the client and app icons using the following directory structure:
   clients/
      <CLIENT_SHORTNAME>/
         app_icons/
            adaptive/
         images/
  1. Inside the app_icons/adaptive directory, add the following files:
    • ic_launcher_background.xml
    • ic_launcher_foreground.xml
  2. Inside the images directory, add the following files (Google Drive):
    • app_icon.png
    • bg.jpg
    • logo.png
    • ribbon.png
    • splash_tablet.jpg
    • splash.jpg

Note: Each image in the client folder needs to be a specific size in order for Android to build correctly.

Step 4: Adding client for Android

To add the new client for Android, modify the android/app/build.gradle file:

  1. Locate the productFlavors section
  2. Add a new client entry inside the productFlavors block

Step 5: Adding client to launch configuration for VS Code

To configure the launch settings for the client in Visual Studio Code:

  1. Open the .vscode/launch.json file
  2. Add a new client entry to the file for development and staging, following the pattern used for other clients

Note: To ensure the app loads properly, make sure to add the required assets for the organization before proceeding to the next step