From 60453cb487888c649e1f6e8d4d5a2f90ae0e838c Mon Sep 17 00:00:00 2001 From: Engincan VESKE Date: Mon, 16 May 2022 13:05:34 +0300 Subject: [PATCH] Update Application-Single-Layer.md --- .../Application-Single-Layer.md | 45 +++++++++++++++--- ...kstore-single-layer-solution-structure.png | Bin 0 -> 23834 bytes .../images/single-layer-folder-structure.png | Bin 0 -> 4485 bytes 3 files changed, 39 insertions(+), 6 deletions(-) create mode 100644 docs/en/images/bookstore-single-layer-solution-structure.png create mode 100644 docs/en/images/single-layer-folder-structure.png diff --git a/docs/en/Startup-Templates/Application-Single-Layer.md b/docs/en/Startup-Templates/Application-Single-Layer.md index d9674b0fd6..651988dcac 100644 --- a/docs/en/Startup-Templates/Application-Single-Layer.md +++ b/docs/en/Startup-Templates/Application-Single-Layer.md @@ -12,7 +12,7 @@ This document explains the **solution structure** and project in details. If you ABP's [Application Startup Template](Application.md) provides a well-organized and layered solution to create maintainable business applications based on the [Domain Driven Design](../Domain-Driven-Design.md) (DDD) practises. However, some developers find this template little bit complex (or unneccessary) for simple and short-time applications. -In that point, for such applications a single-layered application template is created. Time template has the same functionality, features and modules on runtime with the [Application Startup Template](Application.md) but the development model is minimal and everything is in the single project (`.csproj`). +In that point, for such applications a single-layered application template is created. This template has the same functionality, features and modules on runtime with the [Application Startup Template](Application.md) and ABP modules are already installed but the development model is minimal and everything is in the single project (`.csproj`). ## How to Start with? @@ -37,17 +37,17 @@ abp new Acme.BookStore -t app-nolayers This template provides multiple UI frameworks: -* `mvc`: ASP.NET Core MVC UI with Razor Pages +* `mvc`: ASP.NET Core MVC UI with Razor Pages (default) * `blazor-server`: Blazor Server UI * `angular`: Angular UI -* `none`: Without UI + +If you choose `Angular` as the UI framework, the solution is being separated into two folders: + +* `angular` folder contains the Angular UI application, the client-side code. +* `aspnet-core` folder contains the ASP.NET Core solution, the server-side code. \ No newline at end of file diff --git a/docs/en/images/bookstore-single-layer-solution-structure.png b/docs/en/images/bookstore-single-layer-solution-structure.png new file mode 100644 index 0000000000000000000000000000000000000000..edc495d909ac14d7560b8a83e9ddfeb038cc5941 GIT binary patch literal 23834 zcma%iby!qw_wFF2q_i~BjYvsLcXtWW-Q9v9ozmSflynIrAdPg_(A_BvaklUKo$tKA zyv`q7%m!xWna#8Ab;o+bl@+DXQHW4LAP~BYw74n=1g8&twLC`xe$tf_MGAa_b5WHN z1yzlZ>;V@D79t8FAW%&#>itJV;QEE5w2li1gwg%y3$D+h)D#5Lua*%PQTP0C)Q;|} zKArXSr173g2rdXqhBg|Gq!ZaPK$b?bz^rZGGN7^&Qg8K(9NDHk)O|7O*uF2l*shdo zIlzi|)}Cd&*lZ5h{YXiszRjqwxARNmbD^=d*F6KD>GGb_V^Qv&_>KyCY_Fv8b9m6E zWn^q#Y`Ynzxg59b2z~b5_JQmy!Fcy6=0hQ-+R48(Yz{jYpYCjS%2oX>`%ZaVRg#c%F7~pY?(hXqUsSrT%^tJo z)M+DmW6Y%9*z~-wep-!tct_|}!O&;npw~w2&olohjCSmQkr(μunD;R&@nSR~pp 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 Oq^YK>T72L7`F{bF#X9)_ literal 0 HcmV?d00001 diff --git a/docs/en/images/single-layer-folder-structure.png b/docs/en/images/single-layer-folder-structure.png new file mode 100644 index 0000000000000000000000000000000000000000..06aa77049c1238e3403a09511f2a5344f37fc35b GIT binary patch literal 4485 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 bK=HExPO~rp&hKh%L4_$S^5cB}JixyI@2h!m literal 0 HcmV?d00001