SimplCommerce: 超简单、跨平台、模块化的电子商务系统

SimplCommerce是一个基于.NET的超级简单、跨平台、模块化的电子商务系统,技术特点:
1. ASP.NET MVC Core 1.1.0 on .NET Core 1.1.0
2. Entity Framework Core 1.1.0
3. ASP.NET Identity Core 1.1.0
4. Autofac 4.0.0
5. Angular 1.5
6. MediatR for domain event(领域事件)

应用程序是模块化的,每个模块包含了所有本身运行所需要的控制器、服务、视图和静态文件。如果一个模块不再需要,您可以只需要通过单击删除。

Simplcommerce.Webhost ASP.NET核心项目并担任主要核心。它将引导程序和在模块文件夹中找到它要加载的所有模块。在gulpfile.js文件中,有一个“复制模块copy-modules”,绑定到Visual Studio的“AfterBuild“,这个事件用于复制每个模块/bin, /Views, /wwwroot到WebHost的Modules目录。

应用程序启动时,主机将扫描Modules目录的所有*.DLL,并使用AssemblyLoadContext加载它们。这些组件会被注册到MVC核心应用部分。

ModuleViewLocationExpander 来帮助ViewEngine 发现模块中视图的正确位置。

每个领域模型实体需要从Entity继承,然后在OnModelCreating方法中发现这些实体并将它们注册到DbContext。每个领域实体按照惯例映射到数据表,如果需要定制映射,继承实现ICustomModelBuilder 一个子类。

在线演示:http://demo.simplcommerce.com/


GitHub - simplcommerce/SimplCommerce: A super simp