feat: rename app provider to application provider and update terminology in docs and UI

This commit is contained in:
mik-tf
2025-09-07 10:31:42 -04:00
parent 988d07a10d
commit 2ddd538941
11 changed files with 45 additions and 45 deletions

View File

@@ -57,7 +57,7 @@ Project Mycelium is a Rust web app built on Actix Web.
## Marketplace Overview ## Marketplace Overview
- **Roles & Areas** - **Roles & Areas**
- End user, Farmer, App Provider, Service Provider dashboards: `/dashboard/{user|farmer|app-provider|service-provider}` (see `DashboardController` in `src/controllers/dashboard.rs`). - End user, Farmer, Application Provider, Service Provider dashboards: `/dashboard/{user|farmer|application-provider|service-provider}` (see `DashboardController` in `src/controllers/dashboard.rs`).
- Public catalogue: `/marketplace`, `/products`, `/products/{id}`, `/cart`, `/checkout`. - Public catalogue: `/marketplace`, `/products`, `/products/{id}`, `/cart`, `/checkout`.
- **Core Concepts** - **Core Concepts**
- Products (apps, services, compute). Orders and cart lifecycle. - Products (apps, services, compute). Orders and cart lifecycle.

View File

@@ -11,8 +11,8 @@ class DemoWorkflow {
action: () => this.showWelcome() action: () => this.showWelcome()
}, },
{ {
title: "App Provider: Register New Application", title: "Application Provider: Register New Application",
description: "Let's start by registering a new application as an App Provider.", description: "Let's start by registering a new application as an Application Provider.",
action: () => this.demoAppRegistration() action: () => this.demoAppRegistration()
}, },
{ {

View File

@@ -1,10 +1,10 @@
{% extends "dashboard/layout.html" %} {% extends "dashboard/layout.html" %}
{% block title %}ThreeFold Dashboard - App Provider{% endblock %} {% block title %}ThreeFold Dashboard - Application Provider{% endblock %}
{% block dashboard_content %} {% block dashboard_content %}
<div class="my-4"> <div class="my-4">
<h1>App Provider Dashboard</h1> <h1>Application Provider Dashboard</h1>
<p class="lead">Develop, deploy, and manage applications for the ThreeFold ecosystem</p> <p class="lead">Develop, deploy, and manage applications for the ThreeFold ecosystem</p>
<!-- Status Summary --> <!-- Status Summary -->

View File

@@ -13,8 +13,8 @@
<div class="stats-card success"> <div class="stats-card success">
<h5 class="card-title">Active Nodes</h5> <h5 class="card-title">Active Nodes</h5>
<div class="d-flex justify-content-between align-items-end"> <div class="d-flex justify-content-between align-items-end">
<h2 class="mb-0" id="active-nodes-count">{{ resource provider_stats.online_nodes }}</h2> <h2 class="mb-0" id="active-nodes-count">{{ resource_provider_stats.online_nodes }}</h2>
<small class="text-muted">of {{ resource provider_stats.total_nodes }} total</small> <small class="text-muted">of {{ resource_provider_stats.total_nodes }} total</small>
</div> </div>
</div> </div>
</div> </div>
@@ -22,8 +22,8 @@
<div class="stats-card primary"> <div class="stats-card primary">
<h5 class="card-title">Allocated Slices</h5> <h5 class="card-title">Allocated Slices</h5>
<div class="d-flex justify-content-between align-items-end"> <div class="d-flex justify-content-between align-items-end">
<h2 class="mb-0" id="active-slices-count">{{ resource provider_stats.allocated_base_slices }}</h2> <h2 class="mb-0" id="active-slices-count">{{ resource_provider_stats.allocated_base_slices }}</h2>
<small class="text-muted">of {{ resource provider_stats.total_base_slices }} total</small> <small class="text-muted">of {{ resource_provider_stats.total_base_slices }} total</small>
</div> </div>
</div> </div>
</div> </div>
@@ -31,7 +31,7 @@
<div class="stats-card warning"> <div class="stats-card warning">
<h5 class="card-title">Monthly Earnings</h5> <h5 class="card-title">Monthly Earnings</h5>
<div class="d-flex justify-content-between align-items-end"> <div class="d-flex justify-content-between align-items-end">
<h2 class="mb-0" id="monthly-earnings">{{ resource provider_stats.monthly_earnings }}</h2> <h2 class="mb-0" id="monthly-earnings">{{ resource_provider_stats.monthly_earnings }}</h2>
<small class="text-muted">$/month</small> <small class="text-muted">$/month</small>
</div> </div>
</div> </div>
@@ -187,7 +187,7 @@
<div class="stats-card primary"> <div class="stats-card primary">
<h6 class="card-title">Total Base Slices</h6> <h6 class="card-title">Total Base Slices</h6>
<div class="d-flex justify-content-between align-items-end"> <div class="d-flex justify-content-between align-items-end">
<h3 class="mb-0" id="total-base-slices">{{ resource provider_stats.total_base_slices }}</h3> <h3 class="mb-0" id="total-base-slices">{{ resource_provider_stats.total_base_slices }}</h3>
<small class="text-muted">Available</small> <small class="text-muted">Available</small>
</div> </div>
</div> </div>
@@ -196,7 +196,7 @@
<div class="stats-card success"> <div class="stats-card success">
<h6 class="card-title">Allocated Slices</h6> <h6 class="card-title">Allocated Slices</h6>
<div class="d-flex justify-content-between align-items-end"> <div class="d-flex justify-content-between align-items-end">
<h3 class="mb-0" id="allocated-base-slices">{{ resource provider_stats.allocated_base_slices }}</h3> <h3 class="mb-0" id="allocated-base-slices">{{ resource_provider_stats.allocated_base_slices }}</h3>
<small class="text-muted">Rented</small> <small class="text-muted">Rented</small>
</div> </div>
</div> </div>
@@ -205,7 +205,7 @@
<div class="stats-card info"> <div class="stats-card info">
<h6 class="card-title">Available Slices</h6> <h6 class="card-title">Available Slices</h6>
<div class="d-flex justify-content-between align-items-end"> <div class="d-flex justify-content-between align-items-end">
<h3 class="mb-0" id="available-base-slices">{{ resource provider_stats.available_base_slices }}</h3> <h3 class="mb-0" id="available-base-slices">{{ resource_provider_stats.available_base_slices }}</h3>
<small class="text-muted">For Rent</small> <small class="text-muted">For Rent</small>
</div> </div>
</div> </div>
@@ -214,7 +214,7 @@
<div class="stats-card warning"> <div class="stats-card warning">
<h6 class="card-title">Utilization</h6> <h6 class="card-title">Utilization</h6>
<div class="d-flex justify-content-between align-items-end"> <div class="d-flex justify-content-between align-items-end">
<h3 class="mb-0" id="slice-utilization">{{ resource provider_stats.slice_utilization_percentage }}%</h3> <h3 class="mb-0" id="slice-utilization">{{ resource_provider_stats.slice_utilization_percentage }}%</h3>
<small class="text-muted">Capacity</small> <small class="text-muted">Capacity</small>
</div> </div>
</div> </div>
@@ -238,8 +238,8 @@
</tr> </tr>
</thead> </thead>
<tbody id="node-slices-table"> <tbody id="node-slices-table">
{% if resource provider_nodes %} {% if resource_provider_nodes %}
{% for node in resource provider_nodes %} {% for node in resource_provider_nodes %}
<tr> <tr>
<td> <td>
<div class="d-flex align-items-center"> <div class="d-flex align-items-center">

View File

@@ -9,8 +9,8 @@
<div class="doc-section"> <div class="doc-section">
<h2>Overview</h2> <h2>Overview</h2>
<p>ThreeFold Application Solutions represent a new approach to application deployment that balances ease of use with digital sovereignty. These pre-configured, self-healing applications are designed to run on the ThreeFold Grid while allowing users to maintain complete control over their infrastructure and data.</p> <p>ThreeFold Agentic Apps represent a new approach to application deployment that balances ease of use with digital sovereignty. These pre-configured, self-healing applications are designed to run on the ThreeFold Grid while allowing users to maintain complete control over their infrastructure and data.</p>
<div class="alert alert-info"> <div class="alert alert-info">
<div class="d-flex"> <div class="d-flex">
<div class="me-3"> <div class="me-3">
@@ -18,7 +18,7 @@
</div> </div>
<div> <div>
<h5 class="alert-heading">The ThreeFold Difference</h5> <h5 class="alert-heading">The ThreeFold Difference</h5>
<p class="mb-0">Unlike traditional SaaS offerings that require surrendering control of your data to the provider, ThreeFold Application Solutions run on compute resources that remain under your sovereign control, while the application provider manages only the application layer.</p> <p class="mb-0">Unlike traditional SaaS offerings that require surrendering control of your data to the provider, ThreeFold Agentic Apps run on compute resources that remain under your sovereign control, while the application provider manages only the application layer.</p>
</div> </div>
</div> </div>
</div> </div>
@@ -88,7 +88,7 @@
<div class="doc-section"> <div class="doc-section">
<h2>How It Works</h2> <h2>How It Works</h2>
<p>Application Solutions on the Project Mycelium function through a unique partnership model between users and application providers:</p> <p>Agentic Apps on the Project Mycelium function through a unique partnership model between users and application providers:</p>
<div class="row align-items-center mb-4"> <div class="row align-items-center mb-4">
<div class="col-md-6"> <div class="col-md-6">
@@ -258,7 +258,7 @@
<i class="bi bi-shop fs-1 text-primary"></i> <i class="bi bi-shop fs-1 text-primary"></i>
</div> </div>
<h5 class="card-title">1. Select Application</h5> <h5 class="card-title">1. Select Application</h5>
<p class="card-text">Browse the marketplace and select your desired application solution.</p> <p class="card-text">Browse the marketplace and select your desired application.</p>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -101,7 +101,7 @@
</h2> </h2>
<div id="faqCollapse2" class="accordion-collapse collapse" aria-labelledby="faqHeading2" data-bs-parent="#faqAccordion"> <div id="faqCollapse2" class="accordion-collapse collapse" aria-labelledby="faqHeading2" data-bs-parent="#faqAccordion">
<div class="accordion-body"> <div class="accordion-body">
The Marketplace offers various categories including: Compute Resources (slices) for cloud computing, physical Mycelium Nodes for hardware, Mycelium Gateways for connectivity, self-healing Application Solutions that maintain your data sovereignty, and Human Energy Services where you can access professional expertise. The Marketplace offers various categories including: Compute Resources (slices) for cloud computing, physical Mycelium Nodes for hardware, Mycelium Gateways for connectivity, self-healing Agentic Apps that maintain your data sovereignty, and Human Energy Services where you can access professional expertise.
</div> </div>
</div> </div>
</div> </div>

View File

@@ -20,14 +20,14 @@
<p class="lead mb-4">Last updated: May 22, 2025</p> <p class="lead mb-4">Last updated: May 22, 2025</p>
<div class="alert alert-info"> <div class="alert alert-info">
<p class="mb-0">These terms specifically apply to Application Providers on the Project Mycelium who develop and deploy applications and applications on the ThreeFold Grid.</p> <p class="mb-0">These terms specifically apply to Application Providers on the Project Mycelium who develop and deploy applications on the ThreeFold Grid.</p>
</div> </div>
<h2>1. Definition of a Solution Provider</h2> <h2>1. Definition of an Application Provider</h2>
<p>A "Solution Provider" refers to any individual or entity that develops, deploys, and maintains software applications, platforms, or digital applications on the Project Mycelium. Application Providers create the applications and services that run on the ThreeFold Grid's infrastructure.</p> <p>An "Application Provider" refers to any individual or entity that develops, deploys, and maintains software applications, platforms, or digital applications on the Project Mycelium. Application Providers create the applications and services that run on the ThreeFold Grid's infrastructure.</p>
<h2>2. Solution Provider Responsibilities</h2> <h2>2. Application Provider Responsibilities</h2>
<p>As a Solution Provider on the Project Mycelium, you agree to:</p> <p>As an Application Provider on the Project Mycelium, you agree to:</p>
<ul> <ul>
<li>Provide accurate descriptions of your applications and applications</li> <li>Provide accurate descriptions of your applications and applications</li>
<li>Maintain your deployed applications with regular updates and security patches</li> <li>Maintain your deployed applications with regular updates and security patches</li>
@@ -62,11 +62,11 @@
<li>Credits have a fixed value of 1.0 USD per Credit</li> <li>Credits have a fixed value of 1.0 USD per Credit</li>
<li>Application Providers receive Credits from users who utilize their applications</li> <li>Application Providers receive Credits from users who utilize their applications</li>
<li>Earned Credits can be exchanged for fiat currencies or other supported tokens through the available liquidity pools</li> <li>Earned Credits can be exchanged for fiat currencies or other supported tokens through the available liquidity pools</li>
<li>Platform fees may apply to transactions as detailed in your Solution Provider dashboard</li> <li>Platform fees may apply to transactions as detailed in your Application Provider dashboard</li>
<li>You are responsible for the resource utilization costs of your deployed applications</li> <li>You are responsible for the resource utilization costs of your deployed applications</li>
</ul> </ul>
<h2>6. Solution Listings and Distribution</h2> <h2>6. Application Listings and Distribution</h2>
<p>Regarding your application listings on the marketplace:</p> <p>Regarding your application listings on the marketplace:</p>
<ul> <ul>
<li>All application descriptions must comply with the Marketplace Content Guidelines</li> <li>All application descriptions must comply with the Marketplace Content Guidelines</li>
@@ -104,8 +104,8 @@
<li>Scheduled maintenance should be announced in advance when possible</li> <li>Scheduled maintenance should be announced in advance when possible</li>
</ul> </ul>
<h2>10. Termination of Solution Provider Status</h2> <h2>10. Termination of Application Provider Status</h2>
<p>You may cease being a Solution Provider by:</p> <p>You may cease being an Application Provider by:</p>
<ul> <ul>
<li>Removing all application listings from the marketplace</li> <li>Removing all application listings from the marketplace</li>
<li>Providing a reasonable migration path or notice to existing users</li> <li>Providing a reasonable migration path or notice to existing users</li>
@@ -115,7 +115,7 @@
<div class="alert alert-warning mt-5"> <div class="alert alert-warning mt-5">
<h5 class="alert-heading">Important Note</h5> <h5 class="alert-heading">Important Note</h5>
<p class="mb-0">These Solution Provider-specific terms are in addition to the <a href="/terms">General Terms and Conditions</a> that apply to all users of the Project Mycelium. Please ensure you have reviewed both documents.</p> <p class="mb-0">These Application Provider-specific terms are in addition to the <a href="/terms">General Terms and Conditions</a> that apply to all users of the Project Mycelium. Please ensure you have reviewed both documents.</p>
</div> </div>
<div class="text-center mt-5 mb-3"> <div class="text-center mt-5 mb-3">

View File

@@ -1,21 +1,21 @@
{% extends "marketplace/layout.html" %} {% extends "marketplace/layout.html" %}
{% block title %}Project Mycelium - Application Solutions{% endblock %} {% block title %}Project Mycelium - Agentic Apps{% endblock %}
{% block marketplace_content %} {% block marketplace_content %}
<div class="my-4"> <div class="my-4">
<h1>Application Solutions</h1> <h1>Agentic Apps</h1>
<p class="lead">Discover self-healing applications that maintain sovereignty while offering convenience.</p> <p class="lead">Discover self-healing applications that maintain sovereignty while offering convenience.</p>
<!-- Application Solutions Introduction --> <!-- Agentic Apps Introduction -->
<div class="alert alert-info mb-4"> <div class="alert alert-info mb-4">
<div class="d-flex"> <div class="d-flex">
<div class="me-3"> <div class="me-3">
<i class="bi bi-info-circle-fill fs-3"></i> <i class="bi bi-info-circle-fill fs-3"></i>
</div> </div>
<div> <div>
<h5 class="alert-heading">How Application Solutions Work</h5> <h5 class="alert-heading">How Agentic Apps Work</h5>
<p>ThreeFold Application Solutions use a unique model: You provide the compute resources (Slices), while application providers manage the applications. This ensures you maintain sovereignty over your infrastructure while benefiting from professional management.</p> <p>ThreeFold Agentic Apps use a unique model: You provide the compute resources (Slices), while application providers manage the applications. This ensures you maintain sovereignty over your infrastructure while benefiting from professional management.</p>
<hr> <hr>
<p class="mb-0">When you deploy an application, you'll be guided through the process of allocating the necessary resources if you don't already have them.</p> <p class="mb-0">When you deploy an application, you'll be guided through the process of allocating the necessary resources if you don't already have them.</p>
</div> </div>

View File

@@ -129,8 +129,8 @@
</td> </td>
<td> <td>
<div class="provider-name"> <div class="provider-name">
{% if product_data.product.attributes.resource provider_email %} {% if product_data.product.attributes.resource_provider_email %}
{{ product_data.product.attributes.resource provider_email.value | truncate(length=15) }} {{ product_data.product.attributes.resource_provider_email.value | truncate(length=15) }}
{% else %} {% else %}
{% if product_data.product.provider %}{{ product_data.product.provider }}{% else %}Unknown{% endif %} {% if product_data.product.provider %}{{ product_data.product.provider }}{% else %}Unknown{% endif %}
{% endif %} {% endif %}

View File

@@ -48,7 +48,7 @@
<li class="nav-item"> <li class="nav-item">
<a class="nav-link {% if active_section == 'applications' %}active{% endif %}" href="/marketplace/applications"> <a class="nav-link {% if active_section == 'applications' %}active{% endif %}" href="/marketplace/applications">
<i class="bi bi-app me-1"></i> <i class="bi bi-app me-1"></i>
Application Solutions Agentic Apps
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">

View File

@@ -24,7 +24,7 @@
<strong>Node:</strong> {{ slice.node_id }} <strong>Node:</strong> {{ slice.node_id }}
</div> </div>
<div class="mb-3"> <div class="mb-3">
<strong>Resource Provider:</strong> {{ slice.resource provider_email }} <strong>Resource Provider:</strong> {{ slice.resource_provider_email }}
</div> </div>
<div class="mb-3"> <div class="mb-3">
<strong>Specifications:</strong> <strong>Specifications:</strong>
@@ -54,7 +54,7 @@
<div class="card-body"> <div class="card-body">
<form id="sliceRentalForm" method="POST" action="/marketplace/slice/rent"> <form id="sliceRentalForm" method="POST" action="/marketplace/slice/rent">
<!-- Hidden fields --> <!-- Hidden fields -->
<input type="hidden" name="resource provider_email" value="{{ resource provider_email }}"> <input type="hidden" name="resource_provider_email" value="{{ resource_provider_email }}">
<input type="hidden" name="node_id" value="{{ node_id }}"> <input type="hidden" name="node_id" value="{{ node_id }}">
<input type="hidden" name="combination_id" value="{{ combination_id }}"> <input type="hidden" name="combination_id" value="{{ combination_id }}">