diff --git a/templates/module/MyCompanyName.MyModuleName.sln b/templates/module/MyCompanyName.MyModuleName.sln
new file mode 100644
index 0000000000..929eb23fbb
--- /dev/null
+++ b/templates/module/MyCompanyName.MyModuleName.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.27703.2026
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyCompanyName.MyModuleName.Domain.Shared", "src\MyCompanyName.MyModuleName.Domain.Shared\MyCompanyName.MyModuleName.Domain.Shared.csproj", "{D64C1577-4929-4B60-939E-96DE1534891A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyCompanyName.MyModuleName.Domain", "src\MyCompanyName.MyModuleName.Domain\MyCompanyName.MyModuleName.Domain.csproj", "{F2840BC7-0188-4606-9126-DADD0F5ABF7A}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D64C1577-4929-4B60-939E-96DE1534891A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D64C1577-4929-4B60-939E-96DE1534891A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D64C1577-4929-4B60-939E-96DE1534891A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D64C1577-4929-4B60-939E-96DE1534891A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {4324B3B4-B60B-4E3C-91D8-59576B4E26DD}
+ EndGlobalSection
+EndGlobal
diff --git a/templates/module/common.props b/templates/module/common.props
new file mode 100644
index 0000000000..14fd737dc1
--- /dev/null
+++ b/templates/module/common.props
@@ -0,0 +1,12 @@
+
+
+ latest
+ 0.1.0
+ $(NoWarn);CS1591
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/templates/module/src/MyCompanyName.MyModuleName.Domain.Shared/MyCompanyName.MyModuleName.Domain.Shared.csproj b/templates/module/src/MyCompanyName.MyModuleName.Domain.Shared/MyCompanyName.MyModuleName.Domain.Shared.csproj
new file mode 100644
index 0000000000..21e138f24b
--- /dev/null
+++ b/templates/module/src/MyCompanyName.MyModuleName.Domain.Shared/MyCompanyName.MyModuleName.Domain.Shared.csproj
@@ -0,0 +1,14 @@
+
+
+
+
+
+ netstandard2.0
+
+
+
+
+
+
+
+
diff --git a/templates/module/src/MyCompanyName.MyModuleName.Domain.Shared/MyCompanyName/MyModuleName/Localization/MyModuleNameResource.cs b/templates/module/src/MyCompanyName.MyModuleName.Domain.Shared/MyCompanyName/MyModuleName/Localization/MyModuleNameResource.cs
new file mode 100644
index 0000000000..ef08c5196a
--- /dev/null
+++ b/templates/module/src/MyCompanyName.MyModuleName.Domain.Shared/MyCompanyName/MyModuleName/Localization/MyModuleNameResource.cs
@@ -0,0 +1,10 @@
+using Volo.Abp.Localization;
+
+namespace MyCompanyName.MyModuleName.Localization
+{
+ [LocalizationResourceName("MyModuleName")]
+ public class MyModuleNameResource
+ {
+
+ }
+}
diff --git a/templates/module/src/MyCompanyName.MyModuleName.Domain.Shared/MyCompanyName/MyModuleName/MyModuleNameDomainErrorCodes.cs b/templates/module/src/MyCompanyName.MyModuleName.Domain.Shared/MyCompanyName/MyModuleName/MyModuleNameDomainErrorCodes.cs
new file mode 100644
index 0000000000..80171a6448
--- /dev/null
+++ b/templates/module/src/MyCompanyName.MyModuleName.Domain.Shared/MyCompanyName/MyModuleName/MyModuleNameDomainErrorCodes.cs
@@ -0,0 +1,7 @@
+namespace MyCompanyName.MyModuleName
+{
+ public static class MyModuleNameDomainErrorCodes
+ {
+ //Add your business exception error codes here...
+ }
+}
diff --git a/templates/module/src/MyCompanyName.MyModuleName.Domain.Shared/MyCompanyName/MyModuleName/MyModuleNameDomainSharedModule.cs b/templates/module/src/MyCompanyName.MyModuleName.Domain.Shared/MyCompanyName/MyModuleName/MyModuleNameDomainSharedModule.cs
new file mode 100644
index 0000000000..51ca55f7a6
--- /dev/null
+++ b/templates/module/src/MyCompanyName.MyModuleName.Domain.Shared/MyCompanyName/MyModuleName/MyModuleNameDomainSharedModule.cs
@@ -0,0 +1,23 @@
+using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp.Modularity;
+using Volo.Abp.Localization;
+using MyCompanyName.MyModuleName.Localization;
+
+namespace MyCompanyName.MyModuleName
+{
+ [DependsOn(
+ typeof(AbpLocalizationModule)
+ )]
+ public class MyModuleNameDomainSharedModule : AbpModule
+ {
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ context.Services.Configure(options =>
+ {
+ options.Resources.Add("en");
+ });
+
+ context.Services.AddAssemblyOf();
+ }
+ }
+}
diff --git a/templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName.MyModuleName.Domain.csproj b/templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName.MyModuleName.Domain.csproj
new file mode 100644
index 0000000000..e8d95d3b27
--- /dev/null
+++ b/templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName.MyModuleName.Domain.csproj
@@ -0,0 +1,19 @@
+
+
+
+
+
+ netstandard2.0
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName/MyModuleName/Localization/Domain/en.json b/templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName/MyModuleName/Localization/Domain/en.json
new file mode 100644
index 0000000000..92e4e9582b
--- /dev/null
+++ b/templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName/MyModuleName/Localization/Domain/en.json
@@ -0,0 +1,6 @@
+{
+ "culture": "en",
+ "texts": {
+
+ }
+}
\ No newline at end of file
diff --git a/templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName/MyModuleName/Localization/Domain/tr.json b/templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName/MyModuleName/Localization/Domain/tr.json
new file mode 100644
index 0000000000..6c8cd12915
--- /dev/null
+++ b/templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName/MyModuleName/Localization/Domain/tr.json
@@ -0,0 +1,6 @@
+{
+ "culture": "tr",
+ "texts": {
+
+ }
+}
\ No newline at end of file
diff --git a/templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName/MyModuleName/MyModuleNameConsts.cs b/templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName/MyModuleName/MyModuleNameConsts.cs
new file mode 100644
index 0000000000..dee2778e9d
--- /dev/null
+++ b/templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName/MyModuleName/MyModuleNameConsts.cs
@@ -0,0 +1,9 @@
+namespace MyCompanyName.MyModuleName
+{
+ public static class MyModuleNameConsts
+ {
+ public const string DefaultDbTablePrefix = "MyModuleName";
+
+ public const string DefaultDbSchema = null;
+ }
+}
diff --git a/templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName/MyModuleName/MyModuleNameDomainModule.cs b/templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName/MyModuleName/MyModuleNameDomainModule.cs
new file mode 100644
index 0000000000..e0482f16b3
--- /dev/null
+++ b/templates/module/src/MyCompanyName.MyModuleName.Domain/MyCompanyName/MyModuleName/MyModuleNameDomainModule.cs
@@ -0,0 +1,35 @@
+using Microsoft.Extensions.DependencyInjection;
+using MyCompanyName.MyModuleName.Localization;
+using Volo.Abp.Localization;
+using Volo.Abp.Localization.ExceptionHandling;
+using Volo.Abp.Modularity;
+using Volo.Abp.VirtualFileSystem;
+
+namespace MyCompanyName.MyModuleName
+{
+ [DependsOn(
+ typeof(MyModuleNameDomainSharedModule)
+ )]
+ public class MyModuleNameDomainModule : AbpModule
+ {
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ context.Services.Configure(options =>
+ {
+ options.FileSets.AddEmbedded();
+ });
+
+ context.Services.Configure(options =>
+ {
+ options.Resources.Get().AddVirtualJson("/MyCompanyName/MyModuleName/Localization/Domain");
+ });
+
+ context.Services.Configure(options =>
+ {
+ options.MapCodeNamespace("Volo.Qa", typeof(MyModuleNameResource));
+ });
+
+ context.Services.AddAssemblyOf();
+ }
+ }
+}