Creating the Initial Solution

In this first part of this tutorial, we will create a new ABP solution with modularity enabled.

Getting Started with a new ABP Solution

Follow the Get Started guide to create a single layer web application with the following configuration:

  • Solution name: ModularCrm
  • UI Framework: ASP.NET Core MVC / Razor Pages
  • Database Provider: Entity Framework Core

You can select the other options based on your preference but at the Modularity step, check the Setup as a modular solution option and add a new Standard Module named ModularCrm.Catalog:

Since modularity is a key aspect of the ABP Framework, it provides an option to create a modular system from the beginning. Here, you're creating a ModularCrm.Catalog module using the Standard Module template.

Note: This tutorial will guide you through creating two modules: Catalog and Ordering. We've just created the Catalog module in the Modularity step. You could also create the Ordering module at this stage. However, we'll create the Ordering module later in this tutorial to better demonstrate ABP Studio's module management capabilities and to simulate a more realistic development workflow where modules are typically added incrementally as the application evolves.

Please complete the Get Started guide and run the web application before going further.

The Solution Structure

The initial solution structure should be like the following in ABP Studio's Solution Explorer:

solution-explorer-modular-crm-initial-with-modules

Initially, you see a ModularCrm solution, a ModularCrm module under that solution (our main single layer application), and a modules folder that contains the ModularCrm.Catalog module and its sub .NET projects.

An ABP Studio module is typically a .NET solution and an ABP Studio solution is an umbrella concept for multiple .NET Solutions (see the concepts document for more).

The ModularCrm module is the core of your application, built as a single-layer ASP.NET Core Web application. On the other hand, the ModularCrm.Catalog module consist of four packages (.NET projects) and used to implement the catalog module's functionality.

Catalog Module's Packages

Here are the .NET projects (ABP Studio packages) of the Catalog module:

  • ModularCrm.Catalog: The main module project that contains your entities, application service implementations and other business objects
  • ModularCrm.Catalog.Contracts: Basically contains application service interfaces and DTOs
  • ModularCrm.Catalog.Tests: Unit and integration tests (if you selected the Include Tests option)
  • ModularCrm.Catalog.UI: Contains user interface pages components for the module

Summary

You've created the initial single layer monolith modular solution with a Catalog module included. In the next part, you will learn how install the Catalog module to the main application.


Was this page helpful?

Please make a selection.

To help us improve, please share your reason for the negative feedback in the field below.

Please enter a note.

Thank you for your valuable feedback!

Please note that although we cannot respond to feedback, our team will use your comments to improve the experience.

In this document
Community Talks

Empower Elsa Workflows with AI in .NET + ABP Framework

26 Jun, 17:00
Online
Register Now
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book