-
Notifications
You must be signed in to change notification settings - Fork 6
White Labeling and Update Management for LoanApp Platform
Vashon Gonzales edited this page Jun 11, 2024
·
1 revision
Objective: Enable white labeling of the LoanApp platform to allow partners to use the platform with their own branding (logos and color palettes) and ensure that updates to the original platform are seamlessly propagated to the partners' platforms without affecting their customizations.
- Allow partners to customize logos and color schemes.
- Ensure updates to the core platform are automatically applied to partner instances without removing custom logos and colors.
- Maintain a high level of consistency and performance across all instances.
-
Custom Branding:
- Partners can upload their logos.
- Partners can select their color palette.
-
Automatic Updates:
- Core updates are pushed to all partner instances.
- Custom branding is preserved during updates.
-
User Interface:
- Simple and intuitive UI for branding customization.
-
Configuration Management:
- Configurations stored in a way that separates core updates from partner customizations.
The following directories and files in the existing codebase will be impacted:
- Public Directory: Store partner-specific assets (logos, favicon).
- Styles Directory: Apply partner-specific color schemes.
- Configuration Files: Extend configuration files to include branding information.
-
Custom Branding Integration:
-
Frontend: Modify the
public
andsrc
directories to dynamically load logos and colors based on partner configurations. -
Configuration Files: Extend existing configuration files (e.g.,
manifest.json
,tailwind.config.js
) to support dynamic branding.
-
Frontend: Modify the
-
Update Mechanism:
- Core Platform: Develop a mechanism to push updates to the core platform.
- Partner Instances: Implement a way to preserve custom logos and colors during updates.
-
User Interface:
- Admin Panel: Create an admin panel where partners can upload logos and select color schemes.
-
Custom Branding Integration:
-
Public Directory: Create a subdirectory within
public
for each partner to store their assets (logos, favicons). - Styles Directory: Use CSS variables or a similar approach to dynamically apply color schemes based on partner configurations.
-
Configuration Files: Modify
tailwind.config.js
andmanifest.json
to reference partner-specific assets and colors.
-
Public Directory: Create a subdirectory within
-
Update Mechanism:
-
Core Platform:
- Implement a version control system to manage and track changes to the core platform.
- Use a deployment script to push updates to all instances.
-
Partner Instances:
- Before applying updates, back up the current state of partner-specific configurations.
- Apply updates and then reapply partner-specific configurations to ensure custom branding is preserved.
-
Core Platform:
-
User Interface:
-
Admin Panel:
- Develop a simple interface where partners can upload their logos and select their color schemes.
- Store these configurations in a dedicated configuration file or database.
-
Admin Panel:
module.exports = {
// Other configurations...
theme: {
extend: {
colors: {
primary: 'var(--primary-color)',
secondary: 'var(--secondary-color)',
// Add more color variables as needed
},
},
},
plugins: [],
}
import React from 'react';
const Logo = () => {
const partnerLogo = process.env.REACT_APP_PARTNER_LOGO || 'default-logo.png';
return <img src={`/public/${partnerLogo}`} alt="Partner Logo" />;
};
export default Logo;