diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml
new file mode 100644
index 0000000..41db872
--- /dev/null
+++ b/.github/workflows/publish-docs.yml
@@ -0,0 +1,54 @@
+name: publish to easyabp.io
+on:
+ push:
+ branches:
+ - master
+ - main
+jobs:
+ publish:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ with:
+ persist-credentials: false
+ fetch-depth: 0
+
+ - name: Find and Replace
+ uses: jacobtomlinson/gha-find-replace@master
+ with:
+ find: \]\((/docs/)
+ replace: "](/guide/${{ github.event.repository.name }}/"
+ include: docs/**.md
+
+ - name: Pull repo and change files
+ id: change
+ run: |
+ ls
+ git clone https://github.com/Syrna/easyabp.github.io
+ cd easyabp.github.io
+ rm -rf docs/guide/${{ github.event.repository.name }}
+ rm -rf docs/.vuepress/public/guide/${{ github.event.repository.name }}
+ mkdir -p docs/guide
+ mkdir -p docs/.vuepress/public/guide
+ cp -rf ../docs/ docs/guide/${{ github.event.repository.name }}
+ cp -rf ../docs/ docs/.vuepress/public/guide/${{ github.event.repository.name }}
+ git add --all
+ echo "##[set-output name=diff;]$(git diff --staged)"
+
+ - name: Commit files
+ if: steps.change.outputs.diff
+ run: |
+ ls
+ cd easyabp.github.io
+ git config --local user.email "action@github.com"
+ git config --local user.name "GitHub Action"
+ git commit -m "Update the docs of ${{ github.event.repository.name }}" -a
+
+ - name: Push changes
+ if: steps.change.outputs.diff
+ uses: ad-m/github-push-action@master
+ with:
+ github_token: ${{ secrets.EASYABP_IO_ACCESS_TOKEN }}
+ repository: Syrna/easyabp.github.io
+ directory: easyabp.github.io
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..1ed136c
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+/docs/README.md
\ No newline at end of file
diff --git a/docs/Getting-Start-to-Develop-Modules.md b/docs/Getting-Start-to-Develop-Modules.md
new file mode 100644
index 0000000..c2c0c94
--- /dev/null
+++ b/docs/Getting-Start-to-Develop-Modules.md
@@ -0,0 +1,71 @@
+# Getting Start to Develop Modules
+This article will show you how to develop ABP modules that follow the [Module Development Specification](/docs/Module-Development-Specification.md) document.
+
+## Step 1: Generate a new ABP module
+
+Use ABP CLI to generate a new ABP module solution with the name prefix `Syrna.`, see: https://docs.abp.io/en/abp/latest/CLI#new.
+
+## Step 2: Complete the project structure
+
+1. For each project (except the Web project), create folders according to namespace and move all the original files and folders in, for example: `Syrna/(Abp)/MyModuleName/`.
+
+2. Search `Syrna.MyModuleName` in **src** folder and replace with ``.
+
+3. Move all the files in `Syrna.MyModuleName.Domain.Shared/Syrna/MyModuleName/Localization/MyModuleName/` to `Syrna.MyModuleName.Domain.Shared/Syrna/MyModuleName/Localization/`.
+
+4. Open **MyModuleNameDomainSharedModule.cs**:
+ * Change `.AddVirtualJson("/Localization/MyModuleName");` to `.AddVirtualJson("/Syrna/MyModuleName/Localization");`.
+ * Change `options.MapCodeNamespace("MyModuleName", typeof(MyModuleNameResource));` to ``options.MapCodeNamespace("Syrna.MyModuleName", typeof(MyModuleNameResource));``.
+
+5. Open **Syrna.MyModuleName.Domain.Shared.csproj**:
+ * Change `` to ``.
+ * Change `` to ``.
+ * Delete other unused `` configurations.
+
+## Step 3: Adjust code of pages
+
+Tip: Skip this step if you do not need Web project.
+
+1. **Pages** folder should have only **MyModuleName** subfolder, other folders and files should be in the **MyModuleName** folder.
+
+2. Open all the **index.js** for entity management pages:
+ * Change `abp.localization.getResource('MyProjectName');` to `abp.localization.getResource('SyrnaMyProjectName');`
+
+
+Detail checks
+
+1. Open all the **index.js** for entity management pages:
+ * Ensure the param value in `new abp.ModalManager()` is correct.
+ * Ensure the param value in `abp.auth.isGranted()`is correct.
+
+2. Open all the **index.cshtml** for entity management pages:
+ * Ensure the src value in `` and `` is correct.
+
+3. Open **MyModuleNameMenuContributor.cs**:
+ * Ensure the url of each menu item is correct.
+
+
+
+## Step 4: Change and use name constants
+
+1. Open `MyModuleNamePermissions.cs` and change **GroupName** to `Syrna.MyModuleName`.
+
+2. Open `MyModuleNameSettings.cs` and change **GroupName** to `Syrna.MyModuleName`.
+
+3. Open `MyModuleNameMenus.cs` and change **Prefix** to a public property with the value `Syrna.MyModuleName`.
+
+4. Open `MyModuleNameDbProperties.cs` and change **DbTablePrefix** and **ConnectionStringName** to `SyrnaMyModuleName`.
+
+5. Open `MyModuleNameRemoteServiceConsts.cs`, change **RemoteServiceName** to `SyrnaMyModuleName` and change **ModuleName** to `syrnaMyModuleName`.
+
+6. Open `MyModuleNameResource.cs` and replace `[LocalizationResourceName("MyModuleName")]` with `[LocalizationResourceName("SyrnaMyModuleName")]`.
+
+7. Open `MyModuleNameController.cs` and add **[Area(MyModuleNameServiceConsts.ModuleName)]** attribute.
+
+## Step 5: Other adjustments
+
+1. Modify the **common.props** file according to: https://github.com/Syrna/PrivateMessaging/blob/master/common.props.
+
+2. Unified ABP version number.
+ 1. Put ABP version number into the **Directory.Build.props** file (see [demo](https://github.com/Syrna/PrivateMessaging/blob/master/Directory.Build.props)).
+ 2. Replace `` to `` in all the .csproj files of the solution.
diff --git a/docs/How-To.md b/docs/How-To.md
new file mode 100644
index 0000000..f0ee174
--- /dev/null
+++ b/docs/How-To.md
@@ -0,0 +1,11 @@
+# "How To" Guides
+Todo.
+
+## Add NuGet Packages
+Todo.
+
+## Add Module Dependencies
+Todo.
+
+## Develop an Syrna Module
+See [Getting Start to Develop Modules](/docs/Getting-Start-to-Develop-Modules.md) and [Module Development Specification](/docs/Module-Development-Specification.md#contribute-to-easyabp).
diff --git a/docs/Module-Development-Specification.md b/docs/Module-Development-Specification.md
new file mode 100644
index 0000000..21c6056
--- /dev/null
+++ b/docs/Module-Development-Specification.md
@@ -0,0 +1,155 @@
+# Module Development Specification
+
+This document introduces the module development specification of the Syrna organization. Follow these rules and designs if you want to join and contribute.
+
+## Basic Knowledges
+
+Please read through the ABP official document: [Module Development](https://docs.abp.io/en/abp/latest/Module-Development-Basics).
+
+## Standardization
+
+We have some standards based on the official document: [Module Development Best Practices & Conventions](https://docs.abp.io/en/abp/latest/Best-Practices/Index).
+
+### Abstraction
+
+Try to design an abstract module and provide more implementations.
+* Good practice: `Syrna.Abp.Sms`, `Syrna.Abp.Sms.Aws`, `Syrna.Abp.Sms.Azure`.
+* Bad practice: `Syrna.Abp.AzureSms`.
+
+### Module Naming
+
+Example of module solution name:
+* Application module: `Syrna.TodoManagement`.
+* Framework module: `Syrna.Abp.Todo` (including the prefix `Abp.`).
+> For framework modules, the better name of `XxxxxxModule` class for framework module is `AbpXxxxxxModule`.
+
+### Domain Services
+
+* Add a `[UnitOfWork]` attribute to the method that uses repositories.
+* Don't use any write-operation method of repositories. That also means you will never add a `[UnitOfWork(IsTransactional = true)]` attribute.
+
+### Distributed Events
+
+Todo.
+
+### Solution Structure
+
+Read the document [Getting Start to Develop Modules](https://github.com/Syrna/SyrnaGuide/blob/master/docs/Getting-Start-to-Develop-Modules.md) and follow it to adjust your module solution from the startup template.
+
+### More Virtual Methods
+
+According to https://github.com/abpframework/abp/issues/3166
+
+* Make all public/protected methods virtual (including entities, domain services, application services, page models, view components...) to make them easily overridable.
+* Make all private methods of domain & application services "protected virtual" to also be able to override them.
+
+Generally, please virtualize the above methods, but you should also think about maintainability and consider protecting some methods if necessary.
+
+### Multi-tenancy
+
+* Let your entities implement `IMultiTenant` if your module can be designed to support multi-tenancy.
+* Make sure permissions are host-side only if they should be hidden from tenant users and vice versa.
+
+### Menu Items
+
+Refer to the [MenuContributor demo](https://github.com/Syrna/GiftCardManagement/blob/master/src/Syrna.GiftCardManagement.Web/GiftCardManagementMenuContributor.cs).
+
+* The name of menu item should have a `CompanyName+ModuleName` prefix, for example: `SyrnaGiftCardManagementGiftCard` is the `GiftCard` using the `SyrnaGiftCardManagement` prefix.
+* Create a `CompanyName+ModuleName` menu item as the root of the module and put other menu items into it, hide it if there is nosub menu item inside.
+
+### Retain a Parameterless Constructor
+
+Always retain a protected or public parameterless constructor, since serializers need it.
+
+```c#
+public class Book
+{
+ protected Book() { }
+}
+```
+
+### User Data
+
+There are two ways to get user data (such as UserName and PhoneNumber):
+
+1. Get from ABP's identity module.
+
+ * Use `IExternalUserLookupServiceProvider` instead of `IIdentityUserRepository` or `IIdentityUserAppService` in all your code to get user's data.
+
+2. Create an local extra user entity (like `BlogUser`) and synchronize data from IdentityUser.
+
+ * See ABP document: [Creating a New Entity with Its Own Database Table/Collection](https://docs.abp.io/en/abp/latest/Customizing-Application-Modules-Extending-Entities#creating-a-new-entity-with-its-own-database-table-collection).
+ * Use `IDistributedEventHandler` instead of `ILocalEventHandler` to synchronize user data.
+
+### Inherits ExtensibleObject
+
+Classes with `IHasExtraProperties` should inherit `ExtensibleObject`.
+
+Otherwise, you should make sure:
+ 1. The class has `[Serializable]` attribute.
+ 2. The ExtraProperties property has `[JsonInclude]` attribute.
+ 3. The ExtraProperties property has a protected setter.
+
+### Using IClock
+
+Use `IClock.Now` instead of `DateTime.Now` or `DateTime.UtcNow` in all your code to get current date time.
+
+### Using ConfigureAwait.Fody
+
+Refer to the [common.props](https://github.com/Syrna/PrivateMessaging/blob/master/common.props) and the [FodyWeavers.xml](https://github.com/Syrna/PrivateMessaging/blob/master/src/Syrna.PrivateMessaging.Domain/FodyWeavers.xml) demos.
+
+* Add `Fody` and `ConfigureAwait.Fody` references to module projects.
+* Set ``.
+
+### Don't Use the Auto API Controllers
+
+The ABP auto API controllers is not friendly to tiered solutions, so please use the [AbpHelper](https://github.com/Syrna/AbpHelper.GUI/blob/master/doc/AbpHelper-CLI/Generate-Controller-Code/Usage.md) to generate controllers manually.
+
+### Change and Use Name Constants
+
+* Open `MyModuleNamePermissions.cs` and change **GroupName** to `Syrna.MyModuleName`.
+* Open `MyModuleNameSettings.cs` and change **GroupName** to `Syrna.MyModuleName`.
+* Open `MyModuleNameRemoteServiceConsts.cs` and change **RemoteServiceName** to `SyrnaMyModuleName`.
+* Open `MyModuleNameRemoteServiceConsts.cs` and change **ModuleName** to `syrnaMyModuleName`.
+* Open `MyModuleNameResource.cs` and replace `[LocalizationResourceName("MyModuleName")]` with `[LocalizationResourceName("SyrnaMyModuleName")]`.
+* Open `MyModuleNameController.cs` and add **[Area(MyModuleNameServiceConsts.ModuleName)]** attribute.
+
+### Depend on Other Modules
+
+Todo.
+
+### Testing
+
+Todo.
+
+### common.props
+
+Follow the steps below:
+1. Copy the [common.props](https://github.com/Syrna/FileManagement/blob/master/common.props) demo to your module.
+1. Edit `Version`, `Description`, `PackageTags` and `PackageLicenseExpression`. (Don't follow the ABP framework's version.)
+
+### README.md
+
+Refer to the [README.md](https://github.com/Syrna/FileManagement/blob/master/README.md) demo. You can customize the structure, but in fact similar formats are more readable.
+
+### Packaging and Publishing
+
+Refer to the [GitHub Action demo](https://github.com/Syrna/FileManagement/tree/master/.github/workflows/publish.yml), configure your project publication jobs. The NuGet packages will be automatic built and published after you commit code to the **master** branch with a new module version.
+
+### Continuous Updating
+
+* Syrna modules always follow the latest version of ABP framework, so when a new version ABP released, you should upgrade your modules as soon as possible.
+* Write down the roadmap in README.md with reference to this [demo](https://github.com/Syrna/FileManagement/blob/master/docs/README.md#road-map) and implement them when you have time and inspiration.
+* Create a new GitHub release and announce all the **breaking changes** before publish new version pacakges to NuGet.
+
+## Contribute to Syrna
+
+Welcome to contribute to Syrna organization, you can publish new modules or improve existing modules for us.
+
+### Publish New Modules
+
+If you want to contribute a new module to Syrna, please create an issue [here](https://github.com/Syrna/SyrnaGuide/issues) to introduce your design and provide the link to your module Github repository. We will evaluate your design and review your code, if the module is well-designed and needed, we will add it to Syrna org.
+
+### Improve Existing Modules
+
+If you want to improve an existing module, please create a PR in the module Github repository, which we will review and merge if it is needed.
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 0000000..e148f54
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,218 @@
+# Syrna
+
+[![Discord online](https://badgen.net/discord/online-members/xyg8TrRa27?label=Discord)](https://discord.gg/xyg8TrRa27)
+
+We help to improve your development experience with the ABP framework.
+
+## ABP Framework
+
+[ABP Framework](https://github.com/abpframework/abp) [![GitHub stars](https://img.shields.io/github/stars/abpframework/abp?style=social)](https://www.github.com/abpframework/abp) is an open-source web application framework based on [ASP.NET Core](https://docs.microsoft.com/en-us/aspnet/core). All the products in Syrna organization are designed for the ABP framework.
+
+## AbpHelper
+
+AbpHelper provides code generation and more features to help you develop applications and modules with the ABP framework.
+
+* We provide [AbpHelper.GUI](https://github.com/Syrna/AbpHelper.GUI) [![GitHub stars](https://img.shields.io/github/stars/Syrna/AbpHelper.GUI?style=social)](https://www.github.com/Syrna/AbpHelper.GUI) to help you use it more visually.
+
+* You can also use [AbpHelper.CLI](https://github.com/Syrna/AbpHelper.CLI) [![GitHub stars](https://img.shields.io/github/stars/Syrna/AbpHelper.CLI?style=social)](https://www.github.com/Syrna/AbpHelper.CLI) directly if you are more used to command line.
+
+## Modules
+
+ABP is a modular application framework. We made a lot of useful and interesting modules, you can install them to your solution easily and use them for free.
+
+### Application Modules
+
+#### [Forum](https://github.com/Syrna/Forum) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FForum%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Forum.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Forum.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Forum.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Forum.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Forum?style=social)](https://www.github.com/Syrna/Forum)
+
+An abp forum application module.
+
+#### [Cms](https://github.com/Syrna/Cms) ![Backlog](https://img.shields.io/badge/-Backlog-lightgrey?style=flat-square)
+
+An abp CMS application module.
+
+#### [EShop](https://github.com/Syrna/EShop) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FEShop%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.EShop.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.EShop.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.EShop.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.EShop.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/EShop?style=social)](https://www.github.com/Syrna/EShop)
+
+An abp application module group that provides basic e-shop service.
+
+#### [PaymentService](https://github.com/Syrna/PaymentService) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FPaymentService%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.PaymentService.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.PaymentService.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.PaymentService.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.PaymentService.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/PaymentService?style=social)](https://www.github.com/Syrna/PaymentService)
+
+An abp application module that provides payment service.
+
+#### [NotificationService](https://github.com/Syrna/NotificationService) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FNotificationService%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.NotificationService.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.NotificationService.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.NotificationService.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.NotificationService.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/NotificationService?style=social)](https://www.github.com/Syrna/NotificationService)
+
+An integrated user notification service Abp module, supporting email, SMS, PM, and more other methods.
+
+#### [BookingService](https://github.com/Syrna/BookingService) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FBookingService%2Fmain%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.BookingService.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.BookingService.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.BookingService.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.BookingService.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/BookingService?style=social)](https://www.github.com/Syrna/BookingService)
+
+An ABP application module that allows users to book time for people or assets.
+
+#### [DynamicForm](https://github.com/Syrna/DynamicForm) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FDynamicForm%2Fmain%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.DynamicForm.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.DynamicForm.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.DynamicForm.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.DynamicForm.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/DynamicForm?style=social)](https://www.github.com/Syrna/DynamicForm)
+
+An ABP module helps users to define and use dynamic forms at runtime.
+
+#### [ProcessManagement](https://github.com/Syrna/ProcessManagement) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FProcessManagement%2Fmain%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.ProcessManagement.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.ProcessManagement.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.ProcessManagement.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.ProcessManagement.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/ProcessManagement?style=social)](https://www.github.com/Syrna/ProcessManagement)
+
+An ABP module that helps define and track business processes.
+
+#### [SharedResources](https://github.com/Syrna/SharedResources) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FSharedResources%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.SharedResources.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.SharedResources.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.SharedResources.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.SharedResources.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/SharedResources?style=social)](https://www.github.com/Syrna/SharedResources)
+
+An abp application module that allows users to share resources with each other.
+
+#### [GiftCardManagement](https://github.com/Syrna/GiftCardManagement) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FGiftCardManagement%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.GiftCardManagement.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.GiftCardManagement.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.GiftCardManagement.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.GiftCardManagement.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/GiftCardManagement?style=social)](https://www.github.com/Syrna/GiftCardManagement)
+
+An abp application module where you can create gift cards and your app user can use them to exchange something.
+
+#### [FileManagement](https://github.com/Syrna/FileManagement) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FFileManagement%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.FileManagement.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.FileManagement.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.FileManagement.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.FileManagement.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/FileManagement?style=social)](https://www.github.com/Syrna/FileManagement)
+
+An abp.io application module that allows users to upload and maintain files.
+
+#### [ReviewManagement](https://github.com/Syrna/ReviewManagement) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FReviewManagement%2Fmain%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.ReviewManagement.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.ReviewManagement.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.ReviewManagement.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.ReviewManagement.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/ReviewManagement?style=social)](https://www.github.com/Syrna/ReviewManagement)
+
+An abp application module that provides general user review service. For example, a user can review a product he has bought with text, pictures and star-rating.
+
+#### [PrivateMessaging](https://github.com/Syrna/PrivateMessaging) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FPrivateMessaging%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.PrivateMessaging.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.PrivateMessaging.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.PrivateMessaging.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.PrivateMessaging.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/PrivateMessaging?style=social)](https://www.github.com/Syrna/PrivateMessaging)
+
+An abp application module that allows users to send private messages to each other.
+
+#### [InstantMessaging](https://github.com/Syrna/InstantMessaging) ![Backlog](https://img.shields.io/badge/-Backlog-lightgrey?style=flat-square)
+
+An abp application module that allows users to chat with each other instantly.
+
+#### [Elsa](https://github.com/Syrna/Elsa) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FElsa%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Elsa.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Elsa.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Elsa.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Elsa.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Elsa?style=social)](https://www.github.com/Syrna/Elsa)
+
+An Abp module integrates Elsa workflows and provides some preset Elsa activities for the ABP framework.
+
+#### [GoalManagement](https://github.com/Syrna/GoalManagement) ![Backlog](https://img.shields.io/badge/-Backlog-lightgrey?style=flat-square)
+
+An abp application module that allows setting goals and rewards users who achieve the goals.
+
+#### [CacheManagement](https://github.com/Syrna/CacheManagement) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FCacheManagement%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.CacheManagement.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.CacheManagement.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.CacheManagement.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.CacheManagement.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/CacheManagement?style=social)](https://www.github.com/Syrna/CacheManagement)
+
+An abp application module helps administrators to manage the app cache data.
+
+#### [LoggingManagement](https://github.com/Syrna/LoggingManagement) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FLoggingManagement%2Fmain%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.LoggingManagement.Application.Contracts.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.LoggingManagement.Application.Contracts) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.LoggingManagement.Application.Contracts.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.LoggingManagement.Application.Contracts) [![GitHub stars](https://img.shields.io/github/stars/Syrna/LoggingManagement?style=social)](https://www.github.com/Syrna/LoggingManagement)
+
+An abp application module to help you query and manage your application logs.
+
+#### [WeChatManagement](https://github.com/Syrna/WeChatManagement) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FWeChatManagement%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.WeChatManagement.Common.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.WeChatManagement.Common.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.WeChatManagement.Common.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.WeChatManagement.Common.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/WeChatManagement?style=social)](https://www.github.com/Syrna/WeChatManagement)
+
+基于Syrna.Abp.WeChat模块实现微信登录、微信用户信息存储、微信服务器管理等高级功能的Abp应用模块组
+
+#### [UniappManagement](https://github.com/Syrna/UniappManagement) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FUniappManagement%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.UniappManagement.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.UniappManagement.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.UniappManagement.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.UniappManagement.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/UniappManagement?style=social)](https://www.github.com/Syrna/UniappManagement)
+
+实现uni-app的应用版本管理、整包更新、热更新、差量热更新等功能的Abp应用模块
+
+### Framework Modules
+
+#### [Abp.LoginUi](https://github.com/Syrna/Abp.LoginUi) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.LoginUi%2Fmain%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.LoginUi.Web.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.LoginUi.Web) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.LoginUi.Web.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.LoginUi.Web) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.LoginUi?style=social)](https://www.github.com/Syrna/Abp.LoginUi)
+
+An ABP module that provides enhanced login pages.
+
+#### [Abp.GraphQL](https://github.com/Syrna/Abp.GraphQL) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.GraphQL%2Fmain%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.GraphQL.Provider.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.GraphQL.Provider.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.GraphQL.Provider.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.GraphQL.Provider.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.GraphQL?style=social)](https://www.github.com/Syrna/Abp.GraphQL)
+
+An ABP module that allows using application services by GraphQL. It also accepted custom schemes and types you defined.
+
+#### [Abp.RelatedDtoLoader](https://github.com/Syrna/Abp.RelatedDtoLoader) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.RelatedDtoLoader%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.RelatedDtoLoader.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.RelatedDtoLoader) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.RelatedDtoLoader.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.RelatedDtoLoader) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.RelatedDtoLoader?style=social)](https://www.github.com/Syrna/Abp.RelatedDtoLoader)
+
+An Abp module that help you automatically load related DTO (like ProductDto in OrderDto) under DDD.
+
+#### [Abp.AspNetCoreRateLimit](https://github.com/Syrna/Abp.AspNetCoreRateLimit) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.AspNetCoreRateLimit%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.AspNetCoreRateLimit.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.AspNetCoreRateLimit) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.AspNetCoreRateLimit.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.AspNetCoreRateLimit) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.AspNetCoreRateLimit?style=social)](https://www.github.com/Syrna/Abp.AspNetCoreRateLimit)
+
+An Abp module helps you control how often your service is used.
+
+#### [Abp.Cqrs](https://github.com/Syrna/Abp.Cqrs) ![Backlog](https://img.shields.io/badge/-Backlog-lightgrey?style=flat-square)
+
+An Abp module to implement CQRS.
+
+#### [Abp.VerificationCode](https://github.com/Syrna/Abp.VerificationCode) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.VerificationCode%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.VerificationCode.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.VerificationCode) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.VerificationCode.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.VerificationCode) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.VerificationCode?style=social)](https://www.github.com/Syrna/Abp.VerificationCode)
+
+An ABP module to generate and verify verification codes.
+
+#### [Abp.TagHelperPlus](https://github.com/Syrna/Abp.TagHelperPlus) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.TagHelperPlus%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.TagHelperPlus.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.TagHelperPlus) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.TagHelperPlus.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.TagHelperPlus) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.TagHelperPlus?style=social)](https://www.github.com/Syrna/Abp.TagHelperPlus)
+
+An Abp MVC UI tag-helper enhancement module to enhance ABP built-in tag-helpers and provide new tag-helpers such as rich text editor, advanced selector, and more.
+
+#### [Abp.DataDictionary](https://github.com/Syrna/Abp.DataDictionary) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.DataDictionary%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.DataDictionary.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.DataDictionary.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.DataDictionary.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.DataDictionary.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.DataDictionary?style=social)](https://www.github.com/Syrna/Abp.DataDictionary)
+
+Abp data dictionary module.
+
+#### [Abp.Elasticsearch](https://github.com/Syrna/Abp.Elasticsearch) ![Backlog](https://img.shields.io/badge/-Backlog-lightgrey?style=flat-square)
+
+Abp Elasticsearch module.
+
+#### [Abp.SettingUi](https://github.com/Syrna/Abp.SettingUi) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.SettingUi%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.SettingUi.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.SettingUi.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.SettingUi.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.SettingUi.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.SettingUi?style=social)](https://www.github.com/Syrna/Abp.SettingUi)
+
+An ABP module used to manage ABP settings.
+
+#### [Abp.EventBus.Boxes.Dtm](https://github.com/Syrna/Abp.EventBus.Boxes.Dtm) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.EventBus.Boxes.Dtm%2Fmain%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.EventBus.Boxes.Dtm.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.EventBus.Boxes.Dtm) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.EventBus.Boxes.Dtm.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.EventBus.Boxes.Dtm) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.EventBus.Boxes.Dtm?style=social)](https://www.github.com/Syrna/Abp.EventBus.Boxes.Dtm)
+
+The DTM implementation module of ABP distributed event boxes.
+
+#### [Abp.EventBus.CAP](https://github.com/Syrna/Abp.EventBus.CAP) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.EventBus.CAP%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![CAP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=cap&query=%2F%2FProject%2FPropertyGroup%2FCapPackageVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.EventBus.CAP%2Fmaster%2FDirectory.Build.props)](https://cap.dotnetcore.xyz) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.EventBus.CAP.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.EventBus.CAP) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.EventBus.CAP.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.EventBus.CAP) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.EventBus.CAP?style=social)](https://www.github.com/Syrna/Abp.EventBus.CAP)
+
+ABP vNext framework CAP EventBus module.
+
+#### [Abp.EntityUi](https://github.com/Syrna/Abp.EntityUi) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.EntityUi%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.EntityUi.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.EntityUi.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.EntityUi.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.EntityUi.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.EntityUi?style=social)](https://www.github.com/Syrna/Abp.EntityUi)
+
+An abp module that dynamically generates management UI for entities in runtime.
+
+#### [Abp.DynamicQuery](https://github.com/Syrna/Abp.DynamicQuery) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.DynamicQuery%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.DynamicQuery.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.DynamicQuery.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.DynamicQuery.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.DynamicQuery.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.DynamicQuery?style=social)](https://www.github.com/Syrna/Abp.DynamicQuery)
+
+An ABP module helps you quickly implement dynamic queries.
+
+#### [Abp.DynamicEntity](https://github.com/Syrna/Abp.DynamicEntity) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.DynamicEntity%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.DynamicEntity.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.DynamicEntity.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.DynamicEntity.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.DynamicEntity.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.DynamicEntity?style=social)](https://www.github.com/Syrna/Abp.DynamicEntity)
+
+An ABP module that can dynamically create entities at runtime and perform CRUD operations like normal entities.
+
+
+#### [Abp.DynamicMenu](https://github.com/Syrna/Abp.DynamicMenu) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.DynamicMenu%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.DynamicMenu.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.DynamicMenu.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.DynamicMenu.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.DynamicMenu.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.DynamicMenu?style=social)](https://www.github.com/Syrna/Abp.DynamicMenu)
+
+An abp module that dynamically creates menu items for ABP UI projects in runtime.
+
+#### [Abp.DynamicPermission](https://github.com/Syrna/Abp.DynamicPermission) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.DynamicPermission%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.DynamicPermission.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.DynamicPermission.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.DynamicPermission.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.DynamicPermission.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.DynamicPermission?style=social)](https://www.github.com/Syrna/Abp.DynamicPermission)
+
+An ABP module that allows you to define and grant dynamic permissions in runtime.
+
+#### [Abp.Trees](https://github.com/Syrna/Abp.Trees) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.Trees%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.Trees.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.Trees.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.Trees.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.Trees.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.Trees?style=social)](https://www.github.com/Syrna/Abp.Trees)
+
+An abp module that provides standard tree structure entity implement.
+
+#### [Abp.Sms.TencentCloud](https://github.com/Syrna/Abp.Sms.TencentCloud) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.Sms.TencentCloud%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.Sms.TencentCloud.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.Sms.TencentCloud) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.Sms.TencentCloud.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.Sms.TencentCloud) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.Sms.TencentCloud?style=social)](https://www.github.com/Syrna/Abp.Sms.TencentCloud)
+
+Abp TencentCloud SMS module.
+
+#### [Abp.BlobStoring.TencentCloud](https://github.com/Syrna/Abp.BlobStoring.TencentCloud) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.BlobStoring.TencentCloud%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.BlobStoring.TencentCloud.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.BlobStoring.TencentCloud) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.BlobStoring.TencentCloud.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.BlobStoring.TencentCloud) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.BlobStoring.TencentCloud?style=social)](https://www.github.com/Syrna/Abp.BlobStoring.TencentCloud)
+
+TencentCloud implementation of Abp BLOB Storing.
+
+#### [Abp.PhoneNumberLogin](https://github.com/Syrna/Abp.PhoneNumberLogin) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.PhoneNumberLogin%2Fmain%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.PhoneNumberLogin.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.PhoneNumberLogin.Domain.Shared) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.PhoneNumberLogin.Domain.Shared.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.PhoneNumberLogin.Domain.Shared) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.PhoneNumberLogin?style=social)](https://www.github.com/Syrna/Abp.PhoneNumberLogin)
+
+An abp module to avoid duplicate user phone numbers being confirmed and providing phone number confirmation and phone number login features and more.
+
+#### [Abp.WeChat](https://github.com/Syrna/Abp.WeChat) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.WeChat%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.WeChat.Common.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.WeChat.Common) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.WeChat.Common.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.WeChat.Common) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.WeChat?style=social)](https://www.github.com/Syrna/Abp.WeChat)
+
+Abp 微信 SDK 模块,包含对微信小程序、公众号、企业微信、开放平台、第三方平台等相关接口封装
+
+#### [Abp.TencentCloud](https://github.com/Syrna/Abp.TencentCloud) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.TencentCloud%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.TencentCloud.Common.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.TencentCloud.Common) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.TencentCloud.Common.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.TencentCloud.Common) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.TencentCloud?style=social)](https://www.github.com/Syrna/Abp.TencentCloud)
+
+专门为 ABP vNext 封装的腾讯云 SDK 模块
+
+#### [Abp.Aliyun](https://github.com/Syrna/Abp.Aliyun) [![ABP version](https://img.shields.io/badge/dynamic/xml?style=flat-square&color=yellow&label=abp&query=%2F%2FProject%2FPropertyGroup%2FAbpVersion&url=https%3A%2F%2Fraw.githubusercontent.com%2FSyrna%2FAbp.Aliyun%2Fmaster%2FDirectory.Build.props)](https://abp.io) [![NuGet](https://img.shields.io/nuget/v/Syrna.Abp.Aliyun.Common.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.Aliyun.Common) [![NuGet Download](https://img.shields.io/nuget/dt/Syrna.Abp.Aliyun.Common.svg?style=flat-square)](https://www.nuget.org/packages/Syrna.Abp.Aliyun.Common) [![GitHub stars](https://img.shields.io/github/stars/Syrna/Abp.Aliyun?style=social)](https://www.github.com/Syrna/Abp.Aliyun)
+
+专门为 ABP vNext 封装的阿里云 SDK 模块
+
+### UI Theme Modules
+
+Empty.
+
+## Applications
+
+ABP application startup template or installer with pre-built modules.
+
+### [EasyMall](https://github.com/Syrna/EasyMall) ![Backlog](https://img.shields.io/badge/-Backlog-lightgrey?style=flat-square)
+
+Quickly build an e-commerce application based on Syrna.EShop.
+
+## How To
+
+See ["How To" Guides](/docs/How-To.md).