docs.solidground.work/_groundwork/groundwork-project/design/index.md

3.4 KiB

layout title parent has_children nav_order permalink
default Design Groundwork project true 1 groundwork/project/design

Design

{: .no_toc }

Stakeholders

Groundwork is primarily targeted to Developers to make it easier to develop federated applications, especially ones that target specialized business domains.

Stakeholder Key benefits
Developer: Primary stakeholder. Anyone that wants to build modular domain-specific application services that can be federated and are compliant to Fediverse open-standards.
  • Focus primarily on the feature set that matter to the application domain.
  • Service platform handles the complexity of providing federation support, production-ready server features.
  • Develop service modules in the languages you are most comfortable with.
Provider: Secondary stakeholder. Party that offers an application or add-on, packaged as service modules.
  • Modularize your application in ways that fit your business model.
  • Host your application on a stable platform that eases service management.
  • Integrate and extend your application with additional service modules developed by third-parties.
Sysadmin: Person responsible for maintaining a Groundwork server and its service module deployments.
  • Install, configure, and operate via a set of intuitive maintenance procedures.
  • Stay in control, monitor health metrics and usage data in your admin dashboard.
  • Consult great documentation about new platform releases and available service modules. Upgrade with ease.
Host: Indirect (not shown in domain model). Party that provides Groundwork as a service platform.
  • Offer a production-ready Groundwork instance to Providers as a full-blown application platform.
  • Multi-tenancy. Provide subscription plans to Tenants (not part of the MVP).
Fedizen: Indirect (not shown in domain model). Person with accounts on the service platform.
  • Has full control to manage their presence on the platform.
  • Uses the application features offered by the platform Provider.

Application domains

Apart from the layering presented above there are four functional areas, or application domains:

| Domain | Description | | :--- | : :--- | | Groundwork Core | Common server features, such as configuration, logging, identity and authentication, security, federation endpoints, and more. | | Groundwork Service Modules | Framework for creation of dynamically loaded Service Modules. This includes bootstrap projects to jumpstart development. | | Groundwork Service Administration | Facilities for Sysadmins and Providers to deploy and manage Service Modules at runtime. | | Groundwork Account Management | Facilities for managing Member Accounts on the platform. |