In this lesson, you’ll learn how to develop a full-stack application using SAP Build Code, using productivity tools and Joule to accelerate the development process.

The application provider (partner) owns the global account and manages the multiple subaccounts, each designated for specific purposes:
- Development subaccount
- This subaccount is dedicated to developing and testing multitenant full-stack applications using SAP Build Code.
- Once the development is complete, the application is deployed to the Provider subaccount.
- Provider subaccount
- This subaccount hosts a single instance of the application designed to serve multiple customers.
- The application runs on the SAP BTP, Cloud Foundry runtime and other SAP BTP services.
- Notably, the deployed application does not contain customer-specific data.
- Subscriber subaccount
- This subaccount is provisioned for each customer, offering a dedicated environment to access the shared application after subscription. It manages customer-specific configurations, such as authentication, destinations, and data.
- In real-world scenarios, customers typically use their own Identity Provider (IdP), such as SAP Identity Authentication Service. Trust between the SAP Authorization and Trust Management service in the subscriber subaccount and the customer’s IdP is established using the SAML 2.0 protocol.
- For learning environments, the SAP Identity Authentication Service under the same global SAP BTP account is used, with trust established via the OIDC protocol.
Developing a full-stack application involves four key steps:

- Subscribe to SAP Build Code in the dev subaccount.
- Create a dev space and project for full-stack application.
- Develop an application leveraging Joule.
- Enable multitenancy and adjust the app router.
In this lesson, we demonstrate in detail how to perform each of these steps.