Customizations

Client

Customization is a key aspect of making the interface align with the brand and user experience needs. Below is a detailed explanation of various customization options available for tailoring the front end of the client.

1. Server URLs Configuration

  • export SKYCAPP_SERVER_HTTP_URL: Defines the HTTP URL of your marketplace server.
    • Example: export SKYCAPP_SERVER_HTTP_URL=https://marketplace-server.example.com
  • export SKYCAPP_SERVER_WEBSOCKET_URL: Specifies the WebSocket URL for real-time communications with the server.
    • Example: export SKYCAPP_SERVER_WEBSOCKET_URL=wss://marketplace-server.example.com

2. Branding and SEO Settings

  • export SKYCAPP_TITLE: Sets the title displayed in the site’s navigation header and the title used by search engines.
    • Example: export SKYCAPP_TITLE="My Skycapp"
    • Use case: A meaningful title enhances your site’s identity and improves search engine recognition.
  • export SKYCAPP_LOGO_URL: Specifies the URL for your custom logo.
    • Example: export SKYCAPP_LOGO_URL=https://example.com/logo.png
    • Use case: A logo that represents your brand can be displayed in the navigation bar, providing a more personalized user experience.
  • export SKYCAPP_HTML_META_DESCRIPTION: A brief description of your site that can be indexed by search engines.
    • Example: export SKYCAPP_HTML_META_DESCRIPTION="A platform for curated content and collaborative projects."
    • Use case: Crafting a well-thought-out description helps search engines understand your site’s content and improves the chances of appearing in relevant search results.
  • export SKYCAPP_HTML_META_ROBOTS: Instructs search engines on how to index the pages of your site.
    • Example: export SKYCAPP_HTML_META_ROBOTS="index, follow"
    • Use case: By default, it is set to ‘all,’ meaning all content will be indexed.

3. Advanced Customization Options

These settings allow for deeper customization, giving you control over scripts and styles applied across the platform.

  • export SKYCAPP_CUSTOM_SCRIPT: Allows you to inject custom JavaScript into the <head> of every page.
    • Example: export SKYCAPP_CUSTOM_SCRIPT="<script>alert('Welcome to Skycapp!')</script>"
    • Use case: This can be used to add tracking codes, custom functions, or interactive elements that are not supported by default. Use this feature with caution, as improper scripts could affect page performance or security.
  • export SKYCAPP_CUSTOM_CSS: Lets you add custom CSS styles that are appended to every page.
    • Example: export SKYCAPP_CUSTOM_CSS=".header { background-color: #333; }"
    • Use case: Modify the visual styling of elements like headers, buttons, or fonts without altering the base CSS files. This is useful for making minor adjustments to colors, fonts, and layout that reflect your brand’s identity.

For Reference:

export SKYCAPP_SERVER_HTTP_URL=https://marketplace-server.example.com
export SKYCAPP_SERVER_WEBSOCKET_URL=wss://marketplace-server.example.com
export SKYCAPP_TITLE="My Skycapp" # Optional for site navigation header text and search engine site title.
export SKYCAPP_LOGO_URL=https://example.com/logo.png # Optional URL to a logo file.
export SKYCAPP_HTML_META_DESCRIPTION="Site summary blurb to be indexed by search engines." # Optional for search engine optimization
export SKYCAPP_HTML_META_ROBOTS="all" # Optional request of search engines for specific indexing behavior. Defaults to 'all'.

Optional:

export SKYCAPP_CUSTOM_SCRIPT="" # Custom JavaScript that will be injected into <head> and run once when the page loads.
export SKYCAPP_CUSTOM_CSS="" # Custom CSS that will be added to the end of the <head> of every page.

Server

Configuring the backend of your Skycapp platform involves managing various environment variables that ensure the security, database connections, email delivery, and overall server performance. Below is a detailed explanation of each setting, helping you understand their role and importance.

1. Security and Encryption Settings

  • SKYCAPP_PASSWORD_SALT:
    • Example: SKYCAPP_PASSWORD_SALT="some_unique_string"
    • Use case: This string is used to salt passwords before storing them in the database. Salting ensures that even if hashed passwords are compromised, they remain secure due to the added complexity of the salt.
  • SKYCAPP_SECRET_KEY_BASE:
    • Example: SKYCAPP_SECRET_KEY_BASE="some_unique_string"
    • Use case: A crucial key used for cryptographic signing of user sessions and other secure data. It helps to protect user data by ensuring that session data cannot be tampered with.

2. Database Configuration

  • SKYCAPP_DATABASE_URL:
    • Example: SKYCAPP_DATABASE_URL="postgres://marketplace:password@db.example.com:5432/marketplace_production"
    • Use case: Defines the connection string to the PostgreSQL database used in production. This includes the username, password, host, port, and database name. It’s vital for maintaining the persistence of data across user sessions.
  • SKYCAPP_DATABASE_URL_TEST:
    • Example: SKYCAPP_DATABASE_URL_TEST="postgres://marketplace:password@db.example.com:5432/marketplace_test"
    • Use case: This is used specifically for test environments, ensuring that testing data remains separate from production data. This helps avoid accidental data overwrites during development or testing.

3. Caching and Performance Optimization

  • SKYCAPP_REDIS_URL:
    • Example: SKYCAPP_REDIS_URL="redis://localhost:6379"
    • Use case: Redis is used for caching to improve server performance by storing frequently accessed data in memory. It also serves as a message broker for background jobs or session storage, making the application faster and more responsive.

4. Email Configuration

Configuring email settings is essential for communication with users, such as sending notifications and alerts.

  • SKYCAPP_EMAIL_FROM:
    • Example: SKYCAPP_EMAIL_FROM="email@example.com"
    • Use case: The email address used as the sender for outbound emails from your application, such as account notifications.
  • SKYCAPP_EMAIL_HOST:
    • Example: SKYCAPP_EMAIL_HOST="skycapp.example.com"
    • Use case: The domain from which your application sends emails.
  • SKYCAPP_EMAIL_PREFIX:
    • Example: SKYCAPP_EMAIL_PREFIX="[Skycapp]"
    • Use case: Adds a prefix to the subject of all outgoing emails, making it easier for recipients to recognize emails from your platform.
  • SKYCAPP_EMAIL_GLOBAL_NOTIFY:
    • Example: SKYCAPP_EMAIL_GLOBAL_NOTIFY="one@example.com,two@example.com"
    • Use case: A comma-separated list of email addresses that will receive all notifications, making it useful for monitoring or logging purposes.
  • SKYCAPP_SMTP_* Variables: Configurations for sending emails through an SMTP server.
    • SKYCAPP_SMTP_HOST: The SMTP server’s address.
    • SKYCAPP_SMTP_PORT: The port used for SMTP communication (e.g., 465 for TLS).
    • SKYCAPP_SMTP_USERNAME/SKYCAPP_SMTP_PASSWORD: Credentials for authentication with the SMTP server.
    • SKYCAPP_SMTP_TLS: Enables or disables TLS for secure email sending.
    • SKYCAPP_SMTP_AUTHENTICATION: Method of SMTP authentication, such as ‘plain’ for simple username/password login.

5. User Interface URL

  • SKYCAPP_UI_URL:
    • Example: SKYCAPP_UI_URL="https://marketplace.example.com"
    • Use case: Specifies the URL where users access the platform’s front end. This is critical for linking various backend services with the user-facing components of the site.

6. Performance and Thread Management

These settings control the threading model of your server, helping balance between resource usage and response times.

  • SKYCAPP_MIN_THREADS & SKYCAPP_MAX_THREADS:
    • Example: SKYCAPP_MIN_THREADS=5 and SKYCAPP_MAX_THREADS=5
    • Use case: Specifies the minimum and maximum number of threads for processing requests. Adjusting these values can improve server responsiveness under different load conditions. Generally, leave these settings at their defaults unless you have a specific performance issue to address.

For reference:

  • SKYCAPP_PASSWORD_SALT=”some_unique_string” # Used for database password salting.
  • SKYCAPP_SECRET_KEY_BASE=”some_unique_string” # Used for cryptographic signing of user sessions.
  • SKYCAPP_DATABASE_URL=”postgres://marketplace:password@db.example.com:5432/marketplace_production” # Only used in “production” mode!
  • SKYCAPP_DATABASE_URL_TEST=”postgres://marketplace:password@db.example.com:5432/marketplace_test” # Only used in “test” mode!
  • SKYCAPP_REDIS_URL=”redis://localhost:6379″
  • SKYCAPP_EMAIL_FROM=email@example.com
  • SKYCAPP_EMAIL_HOST=skycapp.example.com
  • SKYCAPP_EMAIL_PREFIX=[Skycapp]
  • SKYCAPP_EMAIL_GLOBAL_NOTIFY=one@example.com,two@example.com # Comma-separated list of emails to include on all email notifications.
  • SKYCAPP_REDIS_URL=redis://172.30.1.152:6379
  • SKYCAPP_SECRET_KEY_BASE=SomeRandomString
  • SKYCAPP_SMTP_AUTHENTICATION=plain
  • SKYCAPP_SMTP_FROM=marketplace@skycapp.com
  • SKYCAPP_SMTP_HOST=smtp.example.com
  • SKYCAPP_SMTP_PASSWORD=smtp_password
  • SKYCAPP_SMTP_PORT=465
  • SKYCAPP_SMTP_STARTTLS_AUTO=false
  • SKYCAPP_SMTP_TLS=true
  • SKYCAPP_SMTP_USERNAME=smtp_user
  • SKYCAPP_UI_URL=https://marketplace.example.com

Additional:

  • SKYCAPP_MIN_THREADS=5 # To override the minimum number of threads per process.
  • SKYCAPP_MAX_THREADS=5 # To override the maximum number of threads per process.