This document has multiple versions. Select the options best fit for you.

UI
Database
Tiered

Getting Started

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

Create the Database

Connection String

Check the connection string in the appsettings.json file under the .HttpApi.Host project

"ConnectionStrings": {
  "Default": "Server=localhost;Database=BookStore;Trusted_Connection=True"
}

About the Connection Strings and Database Management Systems

The solution is configured to use Entity Framework Core with MS SQL Server by default. However, if you've selected another DBMS using the -dbms parameter on the ABP CLI new command (like -dbms MySQL), the connection string might be different for you.

EF Core supports various database providers and you can use any supported DBMS. See the Entity Framework integration document to learn how to switch to another DBMS if you need later.

Database Migrations

The solution uses the Entity Framework Core Code First Migrations. It comes with a .DbMigrator console application which applies the migrations and also seeds the initial data. It is useful on development as well as on production environment.

.DbMigrator project has its own appsettings.json. So, if you have changed the connection string above, you should also change this one.

The Initial Migration

.DbMigrator application automatically creates the Initial migration on first run.

If you are using Visual Studio, you can skip to the Running the DbMigrator section. However, other IDEs (e.g. Rider) may have problems for the first run since it adds the initial migration and compiles the project. In this case, open a command line terminal in the folder of the .DbMigrator project and run the following command:

dotnet run

For the next time, you can just run it in your IDE as you normally do.

Running the DbMigrator

Right click to the .DbMigrator project and select Set as StartUp Project

set-as-startup-project

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

db-migrator-output

Initial seed data creates the admin user in the database (with the password is 1q2w3E*) which is then used to login to the application. So, you need to use .DbMigrator at least once for a new database.

Run the Application

Running the HTTP API Host (Server Side)

Ensure that the .HttpApi.Host project is the startup project and run the application which will open a Swagger UI:

Use Ctrl+F5 in Visual Studio (instead of F5) to run the application without debugging. If you don't have a debug purpose, this will be faster.

swagger-ui

You can see the application APIs and test them here. Get more info about the Swagger UI.

Running the Angular Application (Client Side)

Go to the angular folder, open a command line terminal, type the yarn command (we suggest to the yarn package manager while npm install will also work)

yarn

Once all node modules are loaded, execute yarn start (or npm start) command:

yarn start

It may take a longer time for the first build. Once it finishes, it opens the Angular UI in your default browser with the localhost:4200 address.

bookstore-login

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

If you want to include a React Native project in your solution, add -m react-native (or --mobile react-native) argument to project creation command. This is a basic React Native startup template to develop mobile applications integrated to your ABP based backends.

See the Getting Started with the React Native document to learn how to configure and run the React Native application.

See Also

In this document