You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<summary>A full-stack template using Clean Architecture principles with .NET 9 API backend and Angular 19 frontend, containerized with Docker.</summary>
<summary>A full-stack template using Clean Architecture principles with .NET 9 API backend and Angular 19 frontend, containerized with Docker.</summary>
Copy file name to clipboardExpand all lines: template-src/README.template.md
+16-57Lines changed: 16 additions & 57 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,19 +13,21 @@ This template provides a starting point for creating a Clean Architecture soluti
13
13
1.**Install the template:**
14
14
15
15
```bash
16
-
dotnet new install <path-to-template>
16
+
dotnet new install <path-to-template-package>
17
+
# Or from NuGet
18
+
dotnet new install CleanArchitecture.FullStack.Template
17
19
```
18
20
19
21
2.**Create a new project using the template:**
20
22
21
23
```bash
22
-
dotnet new cleanarch --projectName MyTestApp --namespacePrefix NitinSoft.
24
+
dotnet new cleanarch --organization YourCompany --projectName MyApp
23
25
```
24
26
25
27
3.**Navigate to the project directory:**
26
28
27
29
```bash
28
-
cdMyTestApp
30
+
cdMyApp
29
31
```
30
32
31
33
4.**Build and run the project:**
@@ -36,81 +38,38 @@ This template provides a starting point for creating a Clean Architecture soluti
36
38
37
39
## Template Parameters
38
40
41
+
-`--organization`: Optional organization or company name to be used in namespaces. If specified, namespaces will be formatted as `YourCompany.MyApp.Feature`. If not specified, namespaces will be formatted as `MyApp.Feature`.
39
42
-`--projectName`: The name of the project. Default is `MyApp`.
40
-
-`--namespacePrefix`: Optional namespace prefix (e.g., `MyOrg.`). Default is an empty string.
41
43
42
44
## Directory Structure
43
45
44
46
The template creates the following directory structure:
45
47
46
48
```
47
-
MyTestApp/
49
+
MyApp/
48
50
├── backend/
49
51
│ ├── src/
52
+
│ │ ├── YourCompany.MyApp.Api/
53
+
│ │ ├── YourCompany.MyApp.Core/
54
+
│ │ ├── YourCompany.MyApp.Infrastructure/
55
+
│ │ └── ...
50
56
│ ├── tests/
57
+
│ │ ├── YourCompany.MyApp.UnitTests/
58
+
│ │ ├── YourCompany.MyApp.IntegrationTests/
59
+
│ │ └── ...
51
60
│ └── ...
52
61
├── frontend/
53
62
│ ├── src/
54
63
│ ├── e2e/
55
64
│ └── ...
56
65
├── docker-compose.yml
66
+
├── .env-example
57
67
└── README.md
58
68
```
59
69
60
70
## Customizing the Template
61
71
62
-
You can customize the template by modifying the `template.json` file located in the `template-src` directory. Refer to the [Microsoft documentation](https://docs.microsoft.com/en-us/dotnet/core/tools/custom-templates) for more information on creating custom templates.
63
-
64
-
## Contributing
65
-
66
-
If you would like to contribute to this template, please follow the steps below:
dotnet new cleanarch --projectName MyTestApp --namespacePrefix NitinSoft.
94
-
```
95
-
96
-
5.**Check generated output:**
97
-
98
-
Validate if:
99
-
- Project files are renamed
100
-
- Namespaces are updated
101
-
- It builds and runs
102
-
103
-
6.**Commit and push:**
104
-
105
-
```bash
106
-
git add .
107
-
git commit -m "Add dynamic template generation"
108
-
git push origin template-generator
109
-
```
110
-
111
-
Once you’re happy, you can either:
112
-
- Merge into main, or
113
-
- Keep it as a separate maintained branch for template packaging
72
+
You can customize the template by modifying the source files to meet your specific requirements. The template follows Clean Architecture principles, with proper separation of concerns between API, Core, and Infrastructure layers.
"description": "Optional organization or company name to be used in namespaces (e.g., YourCompany). If not specified, organization name will be omitted.",
0 commit comments