diff --git a/docs/en/solution-templates/layered-web-application/index.md b/docs/en/solution-templates/layered-web-application/index.md index 219c48ddd8..075c25499b 100644 --- a/docs/en/solution-templates/layered-web-application/index.md +++ b/docs/en/solution-templates/layered-web-application/index.md @@ -1,5 +1,15 @@ # ABP Studio: Layered Solution Template +````json +//[doc-nav] +{ + "Next": { + "Name": "Overview", + "Path": "solution-templates/layered-web-application/overview" + } +} +```` + ABP Studio provides pre-architected, production-ready templates to jump-start a new solution. One of these templates is the Layered solution template. It is designed for building monolithic layered systems that follow common application patterns based on [Domain-Driven Design](../../framework/architecture/domain-driven-design) (DDD) principles. The template includes multiple layers, integrates existing modules, and provides host applications based on your selections, making it an excellent foundation for your layered system. > **This document explains the Layered solution template in detail. It is a reference document to fully understand the solution and refer to when you have trouble.** diff --git a/docs/en/solution-templates/layered-web-application/main-components.md b/docs/en/solution-templates/layered-web-application/main-components.md new file mode 100644 index 0000000000..b7b324069e --- /dev/null +++ b/docs/en/solution-templates/layered-web-application/main-components.md @@ -0,0 +1,21 @@ +# Layered Solution: Main Components + +````json +//[doc-nav] +{ + "Previous": { + "Name": "Solution structure", + "Path": "solution-templates/layered-web-application/solution-structure" + }, + "Next": { + "Name": "Web Applications", + "Path": "solution-templates/layered-web-application/web-applications" + } +} +```` + +The solution consists of various applications; web applications, mobile applications, and a database migrator application. These applications are the main components of the solution and are designed to work together to provide a complete solution. The following documents explains these components in details: + +* [Web Applications](web-applications.md) +* [Db Migrator](db-migrator.md) +* [Mobile Applications](mobile-applications.md) \ No newline at end of file diff --git a/docs/en/solution-templates/layered-web-application/overview.md b/docs/en/solution-templates/layered-web-application/overview.md index 44d452f511..bfc3f4a465 100644 --- a/docs/en/solution-templates/layered-web-application/overview.md +++ b/docs/en/solution-templates/layered-web-application/overview.md @@ -3,6 +3,10 @@ ````json //[doc-nav] { + "Previous": { + "Name": "Index", + "Path": "solution-templates/layered-web-application/index" + }, "Next": { "Name": "Solution Structure", "Path": "solution-templates/layered-web-application/solution-structure" diff --git a/docs/en/solution-templates/layered-web-application/solution-structure.md b/docs/en/solution-templates/layered-web-application/solution-structure.md index 99a76f71ec..1c56704ed6 100644 --- a/docs/en/solution-templates/layered-web-application/solution-structure.md +++ b/docs/en/solution-templates/layered-web-application/solution-structure.md @@ -3,6 +3,10 @@ ````json //[doc-nav] { + "Previous": { + "Name": "Overview", + "Path": "solution-templates/layered-web-application/overview" + }, "Next": { "Name": "Main Components", "Path": "solution-templates/layered-web-application/main-components" @@ -191,7 +195,7 @@ The solution structure is shown below: As different from the default structure, two new projects come into play: `.AuthServer` & `.HttpApi.Host`. -#### .AuthServer Project +### .AuthServer Project This project is used as an authentication server for other projects. `.Web` project uses OpenId Connect Authentication to get identity and access tokens for the current user from the AuthServer. Then uses the access token to call the HTTP API server. HTTP API server uses bearer token authentication to obtain claims from the access token to authorize the current user. @@ -201,18 +205,18 @@ ABP uses the [OpenIddict Module](../../modules/openiddict.md) that uses the open It has its own `appsettings.json` that contains database connection and other configurations. -#### .HttpApi.Host Project +### .HttpApi.Host Project This project is an application that hosts the API of the solution. It has its own `appsettings.json` that contains database connection and other configurations. -#### .Web Project +### .Web Project Just like the default structure, this project contains the User Interface (UI) of the application. It contains razor pages, JavaScript files, style files, images and so on... This project contains an `appsettings.json` file, but this time it does not have a connection string because it never connects to the database. Instead, it mainly contains the endpoint of the remote API server and the authentication server. -#### How to Run? +### How to Run? You can open the [Solution Runner](../../studio/running-applications.md) panel and start the all applications. The default username is `admin` and the password is `1q2w3E*`. -![run-solution-tiered](images/run-solution-tiered.png) \ No newline at end of file +![run-solution-tiered](images/run-solution-tiered.png)