<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:a10="http://www.w3.org/2005/Atom" version="2.0">
  <channel xmlns:media="http://search.yahoo.com/mrss/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <title>ABP.IO Stories</title>
    <link>https://abp.io/community/articles</link>
    <description>A hub for ABP Framework, .NET, and software development. Access articles, tutorials, news, and contribute to the ABP community.</description>
    <lastBuildDate>Fri, 02 Oct 2026 23:26:58 Z</lastBuildDate>
    <generator>Community - ABP.IO</generator>
    <image>
      <url>https://abp.io/assets/favicon.ico/favicon-32x32.png</url>
      <title>ABP.IO Stories</title>
      <link>https://abp.io/community/articles</link>
    </image>
    <a10:link rel="self" type="application/rss+xml" title="self" href="https://abp.io/community/rss?member=learnabp" />
    <item>
      <guid isPermaLink="true">https://abp.io/community/videos/how-to-install-leptonx-lite-theme-on-abp-framework-5.3-mvc-ui-epzng137</guid>
      <link>https://abp.io/community/videos/how-to-install-leptonx-lite-theme-on-abp-framework-5.3-mvc-ui-epzng137</link>
      <a10:author>
        <a10:name>learnabp</a10:name>
        <a10:uri>https://abp.io/community/members/learnabp</a10:uri>
      </a10:author>
      <category>leptonx-lite</category>
      <category>theme</category>
      <category>mvc</category>
      <title>How to install LeptonX Lite Theme on ABP Framework 5.3 MVC UI</title>
      <description>In this quick win you will learn how to install the new Lepton X lite theme on to ABP framework 5.3 using the MVC UI.</description>
      <pubDate>Mon, 20 Jun 2022 05:38:39 Z</pubDate>
      <a10:updated>2026-04-13T04:48:59Z</a10:updated>
      <content:encoded><![CDATA[In this quick win you will learn how to install the new Lepton X lite theme on to ABP framework 5.3 using the MVC UI. <br \> <a href="https://youtu.be/81xow52zzsw" rel="nofollow noopener noreferrer" title="Go to the Video">Go to the Video</a>]]></content:encoded>
      <media:thumbnail url="https://abp.io/api/posts/cover-picture-source/ee761d1d-c1af-6201-6871-3a0491cb9a99" />
      <media:content url="https://abp.io/api/posts/cover-picture-source/ee761d1d-c1af-6201-6871-3a0491cb9a99" medium="image" />
    </item>
    <item>
      <guid isPermaLink="true">https://abp.io/community/posts/creating-mobile-apps-using-ionic-and-abp-framework-ix98a3rr</guid>
      <link>https://abp.io/community/posts/creating-mobile-apps-using-ionic-and-abp-framework-ix98a3rr</link>
      <a10:author>
        <a10:name>learnabp</a10:name>
        <a10:uri>https://abp.io/community/members/learnabp</a10:uri>
      </a10:author>
      <category>ionic</category>
      <category>mobil-application</category>
      <title>Creating Mobile Apps using Ionic and ABP Framework</title>
      <description>In this article, we will create an example application that will use the ABP Framework as a backend for a mobile application that can run on an iOS or Android mobile device using Ionic Framework.</description>
      <pubDate>Fri, 27 May 2022 04:37:24 Z</pubDate>
      <a10:updated>2026-10-02T15:31:40Z</a10:updated>
      <content:encoded><![CDATA[<h1>Creating Mobile Apps using Ionic Framework and ABP Framework</h1>
<h2>Introduction</h2>
<p>In this article, we will create an example application which will use the <a href="https://www.abp.io">ABP Framework</a> as backend for a mobile application which can run on an iOS or Andriod mobile device using <a href="https://ionicframework.com">Ionic Framework</a>.</p>
<p>Source Code of the completed application is avalibale on Github <a href="https://github.com/learnabpframework/IonicApp">https://github.com/learnabpframework/IonicApp</a>.</p>
<h2>Screenshots</h2>
<p>Here, is a preview of the Ionic App</p>
<p><img src="https://raw.githubusercontent.com/learnabpframework/learnabp/main/docs/en/Community-Articles/images/screen-shot-abp-ionic-preview.png" alt="screen-shot-abp-ionic-preview" /></p>
<h2>Requirements</h2>
<p>If you haven't used ABP or Ionic Framework before you need to install and setup a few things. So lets get strated.</p>
<h3>Node.js</h3>
<p>In order to install and run both ABP and Ionic Framework you first need to install the Node environment. You can either <a href="https://nodejs.org/en/">download and install it from here</a> or if you are on Mac <a href="https://blog.teamtreehouse.com/install-node-js-npm-mac">use Homebrew to install it like described here </a>.</p>
<p>To test your setup, you can run the following two commands on the your CL:</p>
<pre><code class="language-bash">node -v

npm -v
</code></pre>
<p>Make sure you can open your command line and get a result for both of the commands. Your versions might be different at the time of installing it but that should be ok if you are up to date!</p>
<p><img src="https://raw.githubusercontent.com/learnabpframework/learnabp/main/docs/en/Community-Articles/images/screen-shot-node-versions.png" alt="Node Versions" /></p>
<h3>Yarn</h3>
<p>You will also need Yarn insalled for ABP Framework, you can install Yarn through the npm package manager which comes bundled with Node.js when you install it on your system. Ensure that it is Yarn v1.20+ not v2. ABP Framework doesn't support Yarn v2</p>
<pre><code class="language-bash">npm install -g yarn
</code></pre>
<p>Run the folowing command to check the version of Yarn.</p>
<p><img src="https://raw.githubusercontent.com/learnabpframework/learnabp/main/docs/en/Community-Articles/images/screen-shot-yarn-version.png" alt="Yarn Version" /></p>
<h3>ABP CLI</h3>
<p>You will also need to have the ABP CLI installed to create the startup template. ABP CLI is a command line insterface that is used to automate some common tasks for the ABP framework based solution.</p>
<p>In order to install the ABP CLI you will need an IDE such as <a href="https://visualstudio.microsoft.com/vs/">Visual Studio</a> that uspports <a href="https://dotnet.microsoft.com/download/dotnet">.Net 6.0+</a> installed</p>
<p>You can install it by running the following command on your CL:</p>
<pre><code class="language-bash">dotnet tool install -g Volo.Abp.CLI
</code></pre>
<p>Once the ABP CLI is installed you can run the following command, at the time of writing this article, ABP Framework is at 5.2.2!</p>
<p><img src="https://raw.githubusercontent.com/learnabpframework/learnabp/main/docs/en/Community-Articles/images/screen-shot-abp-version.png" alt="ABP Version" /></p>
<h2>ABP Solution</h2>
<p>We will be using ABP with Angular UI for our backend, so we will first create a new solution using the ABP CLI. Use the following command to create a ABP Angular Solution called IonicApp.</p>
<pre><code class="language-bash">abp new IonicApp -u angular --mobile none --database-provider ef -csf
</code></pre>
<blockquote>
<p>The <code>-csf</code> will create a IonicApp folder in side this folder you will have two folder <code>angular</code> which has the ABP Angular UI and <code>aspnet-core</code> which contains the layered ABP Solution</p>
</blockquote>
<h3>IonicApp.Db Migration Project</h3>
<p>Now open the Ionic App Solution and navigate to the <code>IonicApp.Db Migrator Project</code>, then open the <code>appsettings.json</code> and add the following code</p>
<pre><code class="language-json">{
  &quot;ConnectionStrings&quot;: {
    &quot;Default&quot;: &quot;Server=(LocalDb)\\MSSQLLocalDB;Database=IonicApp;Trusted_Connection=True&quot;
  },
  &quot;IdentityServer&quot;: {
    &quot;Clients&quot;: {
    //...
      &quot;IonicApp_MobileApp&quot;: {
        &quot;ClientId&quot;: &quot;IonicApp_MobileApp&quot;,
        &quot;ClientSecret&quot;: &quot;1q2w3e*&quot;,
        &quot;RootUrl&quot;: &quot;http://localhost:8100&quot;
      }
    }
  }
}
</code></pre>
<p>We need to now setup the <code>IonicApp_MobileApp</code> client in our Identity Server, navigate to <code>IonicApp.Domain</code> project in the <code>IdentityServer</code> folder open <code>IdentityServerDataSeedContributor.cs</code> add the following code in the <code>CreateClientsAsync()</code> method. You will also need to turn off the <code>Enable Integrated Terminal</code> under Preferences &gt; Other &gt; Terminal</p>
<pre><code class="language-csharp">    private async Task CreateClientsAsync()
    {
        var commonScopes = new[]
        {
                &quot;email&quot;,
                &quot;openid&quot;,
                &quot;profile&quot;,
                &quot;role&quot;,
                &quot;phone&quot;,
                &quot;address&quot;,
                &quot;IonicApp&quot;
            };

        var configurationSection = _configuration.GetSection(&quot;IdentityServer:Clients&quot;);


        //Other Clients ...

        //IonicApp_MobileApp Client
        var ionicMobileAppClientId = configurationSection[&quot;IonicApp_MobileApp:ClientId&quot;];
        if (!ionicMobileAppClientId.IsNullOrWhiteSpace())
        {
            var ionicClientRootUrl = configurationSection[&quot;IonicApp_MobileApp:RootUrl&quot;]?.TrimEnd('/');

            await CreateClientAsync(
                name: ionicMobileAppClientId,
                scopes: commonScopes,
                grantTypes: new[] { &quot;password&quot;, &quot;client_credentials&quot;, &quot;authorization_code&quot; },
                secret: (configurationSection[&quot;IonicApp_MobileApp:ClientSecret&quot;] ?? &quot;1q2w3e*&quot;).Sha256(),
                requireClientSecret: false,
                redirectUri: ionicClientRootUrl,
                postLogoutRedirectUri: ionicClientRootUrl,
                corsOrigins: new[] { ionicClientRootUrl.RemovePostFix(&quot;/&quot;) }
            );
        }
    }
</code></pre>
<blockquote>
<p>If you are on a mac you may need to change your shell to <code>/bin/zsh</code> depending on the version of Mac you are running, you can do this in the <code>AddInitalMigration()</code> method which is located in file <code>IonicAppDbMigrationService.cs</code> in the the <code>Data</code> folder of the <code>IonicApp.Domain</code> project</p>
</blockquote>
<p>Run the DB Migrator Project, you should see the below</p>
<p><img src="https://raw.githubusercontent.com/learnabpframework/learnabp/main/docs/en/Community-Articles/images/screen-shot-dbmigrator.png" alt="DbMigrator" /></p>
<h3>IonicApp.HttpApi.Host</h3>
<p>Open the <code>appsettings.json</code> in the IonicApp.HttpApi.Host project and add <code>http://localhost:8100</code> to <code>CorsOrigins</code> and <code>RedirectAllowedUrls</code> like below</p>
<pre><code class="language-json">{
  &quot;App&quot;: {
    &quot;SelfUrl&quot;: &quot;https://localhost:44367&quot;,
    &quot;ClientUrl&quot;: &quot;http://localhost:4200&quot;,
    &quot;CorsOrigins&quot;: &quot;https://*.IonicApp.com,http://localhost:4200,http://localhost:8100&quot;,
    &quot;RedirectAllowedUrls&quot;: &quot;http://localhost:4200,https://localhost:44307:http://localhost:8100&quot;
  },
  &quot;ConnectionStrings&quot;: {
    &quot;Default&quot;: &quot;Server=(LocalDb)\\MSSQLLocalDB;Database=IonicApp;Trusted_Connection=True&quot;
  },
  &quot;AuthServer&quot;: {
    &quot;Authority&quot;: &quot;https://localhost:44367&quot;,
    &quot;RequireHttpsMetadata&quot;: &quot;false&quot;,
    &quot;SwaggerClientId&quot;: &quot;IonicApp_Swagger&quot;,
    &quot;SwaggerClientSecret&quot;: &quot;1q2w3e*&quot;
  },
  &quot;StringEncryption&quot;: {
    &quot;DefaultPassPhrase&quot;: &quot;aBVYjSdEFT5E6GKf&quot;
  }
}
</code></pre>
<p>Set the IonicApp.HttpApi.Host to be the startup project and run it you should see the below</p>
<p><img src="https://raw.githubusercontent.com/learnabpframework/learnabp/main/docs/en/Community-Articles/images/screen-shot-httpapi-host.png" alt="IonicApp.Httpapi.Host" /></p>
<h3>ABP Angular UI</h3>
<p>Open the <code>angular</code> folder inside your <code>IonicApp</code> folder in Visual Studio Code and open the tearmial and run the following command</p>
<pre><code class="language-bash">Yarn
</code></pre>
<pre><code class="language-bash">Yarn Start
</code></pre>
<p>You should see the  below in your browsed</p>
<p><img src="https://raw.githubusercontent.com/learnabpframework/learnabp/main/docs/en/Community-Articles/images/screen-shot-angular-ui.png" alt="ABP-Angular-UI" /></p>
<p>Login using the default username <code>admin</code> and password <code>1q2w3E*</code> and navigate to <code>Administration &gt; Identity Management &gt; Users</code> and create some users like below</p>
<p><img src="https://raw.githubusercontent.com/learnabpframework/learnabp/main/docs/en/Community-Articles/images/screen-shot-abp-users.png" alt="ABP-Users" /></p>
<h2>Ionic Framework</h2>
<p>Now for the fun part, in order to create a <a href="https://ionicframework.com">Ionic</a> Mobile App we need to install Ionic CLI by running the following command</p>
<pre><code class="language-bash">npm install -g @ionic/cli
</code></pre>
<p>Navigate to the IonicApp folder and now run the following command,</p>
<pre><code class="language-bash">ionic start ionic-app blank --type=angular --capacitor
</code></pre>
<blockquote>
<p>The <code>start</code> argument creates a new Ionic Solution, the <code>type</code> of solution is Angular and <code>--capacitor</code> <a href="https://capacitorjs.com">Capacitor</a> is a cross-platform native runtime that makes it easy to build modern web apps that run natively on IOS, Android, and the Web.</p>
</blockquote>
<p>Using Visual Studio open the folder <code>Ionic-App</code> you should see the below</p>
<p><img src="https://raw.githubusercontent.com/learnabpframework/learnabp/main/docs/en/Community-Articles/images/screen-shot-ionic-folder-structure.png" alt="screen-shot-ionic-folder-structure" /></p>
<p>Run the Ionic Solution with the following command, and you should see the below in the browser</p>
<pre><code class="language-bash">ionic serve
</code></pre>
<p><img src="https://raw.githubusercontent.com/learnabpframework/learnabp/main/docs/en/Community-Articles/images/screenshot-ionic-browser.png" alt="screenshot-ionic-browser" /></p>
<p>We will now install the ABP Packages so we can take advantage of the power of ABP, run the following commands in the Terminal in the <code>ionic-app</code> folder</p>
<pre><code class="language-bash">npm install @abp/ng.core
</code></pre>
<blockquote>
<p>The <code>@abp/ng.core</code> package give you access to core functionality of ABP like ability to use the <code>RestService</code>, <code>Localization</code>, <code>Authorization</code> and <code>Permissions</code>  ect etc...</p>
</blockquote>
<pre><code class="language-bash">npm install @abp/ng.schematics --save-dev
</code></pre>
<blockquote>
<p>The @abp/ng.schematics is added as a development dependency to the project so we can generate the static proxy to access the ABP API</p>
</blockquote>
<h3>environement.ts</h3>
<p>Open <code>environment.ts</code> under the <code>src &gt; environments</code> folder and change it with the following code</p>
<pre><code class="language-typescript">import { Environment } from '@abp/ng.core';

const baseUrl = 'http://localhost:8100';

export const environment = {
  production: false,
  application: {
    baseUrl,
    name: 'IonicApp',
    logoUrl: '',
  },
  oAuthConfig: {
    issuer: 'https://localhost:44367',
    redirectUri: baseUrl,
    clientId: 'IonicApp_MobileApp',
    responseType: 'code',
    scope: 'offline_access IonicApp',
    requireHttps: true,
  },
  apis: {
    default: {
      url: 'https://localhost:44367',
      rootNamespace: 'IonicApp',
    },
  },
} as Environment;
</code></pre>
<blockquote>
<p>Note that we are defining a environment constant which has the <code>application</code>, <code>oAuthConfig</code> and <code>apis</code> information which i have copied from the angular project which was created as part of the ABP solution. I have just changed the <code>clientId</code> in the <code>oAuthConfig</code> object to <code>IonicAoo_MobileApp</code> and the base url to <code>http://localhost:8100</code></p>
</blockquote>
<h3>app.module.ts</h3>
<p>Open <code>app.module.ts</code> under the <code>src &gt; app</code> folder and change it with the following code</p>
<pre><code class="language-typescript">import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';

import { IonicModule, IonicRouteStrategy } from '@ionic/angular';

import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';

import { registerLocale } from '@abp/ng.core/locale';
import { CoreModule } from '@abp/ng.core';
import { environment } from 'src/environments/environment';

@NgModule({
  declarations: [AppComponent],
  entryComponents: [],
  imports: [
    BrowserModule,
    IonicModule.forRoot(),
    AppRoutingModule,
    CoreModule.forRoot({
      environment,
      registerLocaleFn: registerLocale()
    })
  ],
  providers: [{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }],
  bootstrap: [AppComponent],
})
export class AppModule {}
</code></pre>
<blockquote>
<p>Note that we have are importing <code>registerLocale</code> and <code>CoreModule</code> from the @abp/ng.core package and we are have added the <code>CoreModule.forRoot()</code> which has the <code>environment</code> and <code>registerLocale</code> as parameters.</p>
</blockquote>
<h3>Generate Static Proxy</h3>
<p>Now that we have imported the ABP packages we will now generate static proxies using the following command</p>
<pre><code class="language-bash">abp generate-proxy -t ng -m identity -u https://localhost:44367
</code></pre>
<p><img src="https://raw.githubusercontent.com/learnabpframework/learnabp/main/docs/en/Community-Articles/images/screen-shot-generate-proxy.png" alt="GenerateProxy" /></p>
<blockquote>
<p>Note the port need to nbe the port <code>44367</code> on which your <code>Ionic.HttpApi.Host</code>is running on, running the<code>generate-proxy</code>command will create a proxy folder under the<code>src &gt; app</code>called<code>proxy</code>.</p>
</blockquote>
<p><img src="https://raw.githubusercontent.com/learnabpframework/learnabp/main/docs/en/Community-Articles/images/screen-shot-ionic-app-folder-structure-with-proxy-folder.png" alt="ProxyFolder" /></p>
<h3>home.page.ts</h3>
<p>Navigate to <code>home.page.ts</code> under the <code>app &gt; home</code> folder and change its code to the following</p>
<pre><code class="language-typescript">import { Component } from '@angular/core';
import { AuthService, ConfigStateService, RestService } from '@abp/ng.core';
import { OAuthService } from 'angular-oauth2-oidc';
import { IdentityUserService } from '../proxy/volo/abp/identity';

@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})
export class HomePage  {
  title = 'custom-angular';

  users = [];

  tenantName = 'host';

  get hasLoggedIn(): boolean {
    return this.oAuthService.hasValidAccessToken();
  }

  // eslint-disable-next-line @typescript-eslint/member-ordering
  constructor(
    private oAuthService: OAuthService,
    private authService: AuthService,
    private identityService: IdentityUserService,
    private config: ConfigStateService
  ) {

    this.tenantName = this.config.getDeep('currentTenant.name');

    if (this.tenantName === null) {
      this.tenantName = 'host';
    }

  }

  login() {
    this.authService.navigateToLogin();
  }

  retrieveUsers() {
    this.identityService.getList({ maxResultCount: 10 }).subscribe((result) =&gt; {
      this.users = result.items;
    });
  }

  logout() {
    this.authService.logout();
  }

}
</code></pre>
<h3>home.page.html</h3>
<p>Navigate to <code>home.page.html</code> under the <code>app &gt; home</code> folder and change its code to the following</p>
<pre><code class="language-html">&lt;ion-header [translucent]=&quot;true&quot;&gt;
  &lt;ion-toolbar&gt;
    &lt;ion-title&gt;
      ABP Ionic App - {{ tenantName }}
    &lt;/ion-title&gt;
  &lt;/ion-toolbar&gt;
&lt;/ion-header&gt;

&lt;ion-content [fullscreen]=&quot;true&quot;&gt;
  &lt;ion-button expand=&quot;full&quot; (click)=&quot;login()&quot; *ngIf=&quot;!hasLoggedIn&quot;&gt;Login&lt;/ion-button&gt;
  &lt;ion-button expand=&quot;full&quot; (click)=&quot;retrieveUsers()&quot; *ngIf=&quot;hasLoggedIn&quot;&gt;Get Users&lt;/ion-button&gt;
  &lt;ion-list&gt;
    &lt;ion-item *ngFor=&quot;let user of users&quot;&gt;
      {{ user.name }}
    &lt;/ion-item&gt;
  &lt;/ion-list&gt;
  &lt;ion-button expand=&quot;full&quot; (click)=&quot;logout()&quot; *ngIf=&quot;hasLoggedIn&quot;&gt;Logout&lt;/ion-button&gt;
&lt;/ion-content&gt;
</code></pre>
<h3>Finally you have got your self a Mobile App</h3>
<p>Run the Ionic Mobile App using the following command</p>
<pre><code class="language-bash">ionic serve
</code></pre>
<p><img src="https://raw.githubusercontent.com/learnabpframework/learnabp/main/docs/en/Community-Articles/images/screen-capture-ionic-app-with-abp-framework.gif" alt="IonicMobileAppScreenCapture" /></p>
]]></content:encoded>
      <media:thumbnail url="https://abp.io/api/posts/cover-picture-source/9816175a-5c43-5cf9-c798-3a0415fae747" />
      <media:content url="https://abp.io/api/posts/cover-picture-source/9816175a-5c43-5cf9-c798-3a0415fae747" medium="image" />
    </item>
    <item>
      <guid isPermaLink="true">https://abp.io/community/posts/quick-start-build-todoapp-bbvqxo5b</guid>
      <link>https://abp.io/community/posts/quick-start-build-todoapp-bbvqxo5b</link>
      <a10:author>
        <a10:name>learnabp</a10:name>
        <a10:uri>https://abp.io/community/members/learnabp</a10:uri>
      </a10:author>
      <category>mvc</category>
      <category>application-development</category>
      <category>tutorial</category>
      <title>Quick Start: Build ToDoApp</title>
      <description>This playlist contains Quick Start: Build ToDoApp on ABP Framework MVC/Razor Pages. It is the video version of tutorial on docs.abp.io. The four video contain the following how to build the Domain, Application, Presentation and a BONUS video on how to add a ToDoApp Menu and localise it! </description>
      <pubDate>Sun, 13 Mar 2022 12:53:13 Z</pubDate>
      <a10:updated>2026-04-24T09:30:11Z</a10:updated>
      <content:encoded><![CDATA[This playlist contains Quick Start: Build ToDoApp on ABP Framework MVC/Razor Pages. It is the video version of tutorial on docs.abp.io. The four video contain the following how to build the Domain, Application, Presentation and a BONUS video on how to add a ToDoApp Menu and localise it! <br \><a href="https://youtube.com/playlist?list=PL_io2lfQt2V0Uq6dI1Yh8sH6rmS-z-IqM" rel="nofollow noopener noreferrer" title="Go to the Post">Go to the Post</a>]]></content:encoded>
      <media:thumbnail url="https://abp.io/api/posts/cover-picture-source/b79a7612-3e72-fe45-12ed-3a029583e098" />
      <media:content url="https://abp.io/api/posts/cover-picture-source/b79a7612-3e72-fe45-12ed-3a029583e098" medium="image" />
    </item>
    <item>
      <guid isPermaLink="true">https://abp.io/community/videos/overview-of-abp-framework-4.1-module-extensions-part-1-n04f7bhf</guid>
      <link>https://abp.io/community/videos/overview-of-abp-framework-4.1-module-extensions-part-1-n04f7bhf</link>
      <a10:author>
        <a10:name>learnabp</a10:name>
        <a10:uri>https://abp.io/community/members/learnabp</a10:uri>
      </a10:author>
      <category>module-extensions</category>
      <title>Overview of ABP Framework 4.1 - Module Extensions - Part 1</title>
      <description>In this Quick Win we explore the major feature Module Entity Extensions release with ABP Framework 4.1 on January 6th 2021</description>
      <pubDate>Sun, 28 Mar 2021 12:57:18 Z</pubDate>
      <a10:updated>2026-03-30T22:38:48Z</a10:updated>
      <content:encoded><![CDATA[In this Quick Win we explore the major feature Module Entity Extensions release with ABP Framework 4.1 on January 6th 2021 <br \> <a href="https://www.youtube.com/watch?v=EZGpnZszO1s" rel="nofollow noopener noreferrer" title="Go to the Video">Go to the Video</a>]]></content:encoded>
      <media:thumbnail url="https://abp.io/api/posts/cover-picture-source/e59dfa00-2d95-bc27-963b-39fb8b15d641" />
      <media:content url="https://abp.io/api/posts/cover-picture-source/e59dfa00-2d95-bc27-963b-39fb8b15d641" medium="image" />
    </item>
    <item>
      <guid isPermaLink="true">https://abp.io/community/posts/lets-build-the-bookstore-application-using-angular-and-efcore-zjwizzvn</guid>
      <link>https://abp.io/community/posts/lets-build-the-bookstore-application-using-angular-and-efcore-zjwizzvn</link>
      <a10:author>
        <a10:name>learnabp</a10:name>
        <a10:uri>https://abp.io/community/members/learnabp</a10:uri>
      </a10:author>
      <category>angular</category>
      <category>entity-framework-core</category>
      <title>Lets Build The BookStore Application using Angular and EFCore</title>
      <description>This courses follows the ten part tutorial on doc.abp.io to show you how to build the BookStore Application using Angular and EF Core.

</description>
      <pubDate>Wed, 20 Jan 2021 03:26:47 Z</pubDate>
      <a10:updated>2026-04-22T11:13:38Z</a10:updated>
      <content:encoded><![CDATA[This courses follows the ten part tutorial on doc.abp.io to show you how to build the BookStore Application using Angular and EF Core.

<br \><a href="https://youtube.com/playlist?list=PL_io2lfQt2V0f-IfoKwA3pql8C4oiIYoE" rel="nofollow noopener noreferrer" title="Go to the Post">Go to the Post</a>]]></content:encoded>
      <media:thumbnail url="https://abp.io/api/posts/cover-picture-source/0f93bf6b-0d94-d90c-2944-39fa30016dff" />
      <media:content url="https://abp.io/api/posts/cover-picture-source/0f93bf6b-0d94-d90c-2944-39fa30016dff" medium="image" />
    </item>
    <item>
      <guid isPermaLink="true">https://abp.io/community/videos/overview-of-abp-framework-40-upvdbbnu</guid>
      <link>https://abp.io/community/videos/overview-of-abp-framework-40-upvdbbnu</link>
      <a10:author>
        <a10:name>learnabp</a10:name>
        <a10:uri>https://abp.io/community/members/learnabp</a10:uri>
      </a10:author>
      <category>abp-introduction</category>
      <category>abp-features</category>
      <title>Overview of ABP Framework 4-0</title>
      <description>This Overview video covers what's new in ABP Framework 4.0

Here, a brief list of major features and changes this video covers;

Migrated to .NET 5.0.
Stable Blazor UI.
Moved to System.Text.Json.
Upgraded to IdentityServer version 4.0.
WPF startup template</description>
      <pubDate>Tue, 19 Jan 2021 04:16:09 Z</pubDate>
      <a10:updated>2026-04-21T19:52:13Z</a10:updated>
      <content:encoded><![CDATA[This Overview video covers what's new in ABP Framework 4.0

Here, a brief list of major features and changes this video covers;

Migrated to .NET 5.0.
Stable Blazor UI.
Moved to System.Text.Json.
Upgraded to IdentityServer version 4.0.
WPF startup template <br \> <a href="https://www.youtube.com/watch?v=JX9-PHeU9TA" rel="nofollow noopener noreferrer" title="Go to the Video">Go to the Video</a>]]></content:encoded>
      <media:thumbnail url="https://abp.io/api/posts/cover-picture-source/c49e6543-63b0-7be9-64be-39fa2b084469" />
      <media:content url="https://abp.io/api/posts/cover-picture-source/c49e6543-63b0-7be9-64be-39fa2b084469" medium="image" />
    </item>
    <item>
      <guid isPermaLink="true">https://abp.io/community/posts/video-course-bookstore-application-using-blazor-with-entity-framework-vrmcrtxi</guid>
      <link>https://abp.io/community/posts/video-course-bookstore-application-using-blazor-with-entity-framework-vrmcrtxi</link>
      <a10:author>
        <a10:name>learnabp</a10:name>
        <a10:uri>https://abp.io/community/members/learnabp</a10:uri>
      </a10:author>
      <category>entity-framework-core</category>
      <category>blazor</category>
      <title>Video Course: Bookstore Application using Blazor with Entity Framework</title>
      <description>This course comprimises of the ten part tutorial series avalible on docs.abp.io, which has been scripted and screen-casted for thoes who prefer to learn by watching videos.</description>
      <pubDate>Sun, 20 Dec 2020 13:32:11 Z</pubDate>
      <a10:updated>2026-04-22T00:17:12Z</a10:updated>
      <content:encoded><![CDATA[This course comprimises of the ten part tutorial series avalible on docs.abp.io, which has been scripted and screen-casted for thoes who prefer to learn by watching videos.<br \><a href="https://www.youtube.com/playlist?list=PL_io2lfQt2V0HabRDXSB6bVrjsnyE9jyw" rel="nofollow noopener noreferrer" title="Go to the Post">Go to the Post</a>]]></content:encoded>
      <media:thumbnail url="https://abp.io/images/others/blank-cover-image-150_79.png" />
      <media:content url="https://abp.io/images/others/blank-cover-image-150_79.png" medium="image" />
    </item>
    <item>
      <guid isPermaLink="true">https://abp.io/community/posts/video-course-bookstore-application-using-mvc-razor-pages-with-entity-framework-2an614ym</guid>
      <link>https://abp.io/community/posts/video-course-bookstore-application-using-mvc-razor-pages-with-entity-framework-2an614ym</link>
      <a10:author>
        <a10:name>learnabp</a10:name>
        <a10:uri>https://abp.io/community/members/learnabp</a10:uri>
      </a10:author>
      <category>entity-framework-core</category>
      <category>mvc</category>
      <title>Video Course: BookStore Application using MVC Razor Pages with Entity Framework</title>
      <description>This course comprimises of the ten part tutorial series avalible on docs.abp.io, which has been scripted and screencasted for thoes who prefer to learn by watching videos.</description>
      <pubDate>Sun, 20 Dec 2020 13:28:25 Z</pubDate>
      <a10:updated>2026-04-16T21:21:41Z</a10:updated>
      <content:encoded><![CDATA[This course comprimises of the ten part tutorial series avalible on docs.abp.io, which has been scripted and screencasted for thoes who prefer to learn by watching videos.<br \><a href="https://www.youtube.com/playlist?list=PL_io2lfQt2V3mwD_nUUlspITO4vznTS7W" rel="nofollow noopener noreferrer" title="Go to the Post">Go to the Post</a>]]></content:encoded>
      <media:thumbnail url="https://abp.io/images/others/blank-cover-image-150_79.png" />
      <media:content url="https://abp.io/images/others/blank-cover-image-150_79.png" medium="image" />
    </item>
  </channel>
</rss>