docs/en/solution-templates/single-layer-web-application/solution-structure.md
//[doc-seo]
{
"Description": "Discover the folder structure of ABP Studio's single-layer solution template, essential for organizing your web application efficiently."
}
//[doc-nav]
{
"Previous": {
"Name": "Overview",
"Path": "solution-templates/single-layer-web-application/overview"
},
"Next": {
"Name": "Main Components",
"Path": "solution-templates/single-layer-web-application/main-components"
}
}
Some of the features mentioned in this document may not be available in the free version. We're using the * symbol to indicate that a feature is available in the Team and Higher licenses.
This document explains the solution and folder structure of ABP Studio's single layer solution template.
This document assumes that you've created a new single-layer solution by following the Quick Start: Creating a Single Layer Web Application with ABP Studio guide. (Choose the Entity Framework Core as the database provider.)
The single-layer solution template is designed to be simple and easy to understand. It includes a single project that contains all the necessary components to build a monolithic application. The solution structure is as follows:
Acme.Bookstore is the main ABP Studio module in the solution. It also includes the ABP Studio package Acme.Bookstore as the host application.
Refer to the Concepts document for a comprehensive definition of ABP Studio solution, module, and package terms.
If you create the solution based on Quick Start: Creating a Single Layer Web Application with ABP Studio guide, the solution structure will be as follows:
This template uses a single-project structure, with concerns separated into folders instead of projects. The pre-defined folders are shown below:
Controllers and Views folders yourself if you prefer the MVC pattern).When you create a new solution it automatically creates initial migration and run database migrator for you (unless you uncheck these options). However, you can run the following command in the directory of your project (in the same folder of the .csproj file) to create the database and seed the initial data:
dotnet run --migrate-database
This command will create the database and seed the initial data for you. Then you can run the application with the ABP Studio Solution Runner. The default username is admin and the password is 1q2w3E*.
While creating a database & applying migrations seem only necessary for relational databases, you should run this command even if you choose a NoSQL database provider (like MongoDB). In that case, it still seeds the initial data which is necessary for the application.