Getting Started

First things first! Let’s setup your development environment before creating the first project.

The following tools should be installed on your development machine:

1 You can use another editor instead of Visual Studio as long as it supports .NET Core and ASP.NET Core.

2 Yarn v2 works differently and is not supported.

ABP CLI is a command line interface that is used to automate some common tasks for ABP based applications.

First, you need to install the ABP CLI using the following command:

If you’ve already installed, you can update it using the following command:

Create a New Project

This document assumes that you prefer to use MVC / Razor Pages as the UI framework and Entity Framework Core as the database provider. For other options, please change the preference on top of this document.

Use the command of the ABP CLI to create a new project:

You can use different level of namespaces; e.g. BookStore, Acme.BookStore or Acme.Retail.BookStore.

ABP CLI Commands & Options

After creating your project, you will have the following solution folders & files:

You will see the following solution structure when you open the .sln file in the Visual Studio:

vs-default-app-solution-structure

About the projects in your solution

Your solution may have slightly different structure based on your UI, database and other preferences.

The solution has a layered structure (based on the Domain Driven Design) and also contains unit & integration test projects.

Integration tests projects are properly configured to work with EF Core & SQLite in-memory database.

See the to understand the solution structure in details.

Create the Database

Check the connection string in the appsettings.json file under the .Web project:

The solution is configured to use Entity Framework Core with MS SQL Server. EF Core supports database providers, so you can use any supported DBMS. See the Entity Framework integration document to learn how to .

The solution uses the Entity Framework Core Code First Migrations. So, you need to apply migrations to create the database. There are two ways of applying the database migrations.

Apply Migrations Using the DbMigrator

The solution comes with a .DbMigrator console application which applies migrations and also seed the initial data. It is useful on development as well as on production environment.

Right click to the project and select Set as StartUp Project

Hit F5 (or Ctrl+F5) to run the application. It will have an output like shown below:

Initial creates the admin user in the database which is then used to login to the application. So, you need to use .DbMigrator at least once for a new database.

Using EF Core Update-Database Command

Ef Core has Update-Database command which creates database if necessary and applies pending migrations.

Right click to the .Web project and select Set as StartUp project:

Open the Package Manager Console, select .EntityFrameworkCore.DbMigrations project as the Default Project and run the Update-Database command:

This will create a new database based on the configured connection string.

Using the tool is the suggested way, because it also seeds the initial data to be able to properly run the web application.

If you just use the Update-Database command, you will have an empty database, so you can not login to the application since there is no initial admin user in the database. You can use the Update-Database command in development time when you don’t need to seed the database. However, using the .DbMigrator application is easier and you can always use it to migrate the schema and seed the database.

Ensure that the .Web project is the startup project. Run the application which will open the login page in your browser:

Enter admin as the username and 1q2w3E* as the password to login to the application. The application is up and running. You can start developing your application based on this startup template.

Mobile Development

See the ““ document to learn how to configure and run the React Native application.