Photo by Lacie Slezak on Unsplash

Introduction

Have you ever come across a web application where it is slow to display a data table? The crawling performance is typical in any application that has a lot of data. The amount of data plays a big role in how fast a table will load. The root cause of a slow site is “over-fetching” data.

The cure for “over-fetching” is server-side pagination a programming technique for which only a subset of data, such as 10 rows, will be provided by the backend for display in the frontend.


Photo by MIKHAIL VASILYEV on Unsplash

Another software pattern? Don’t we have enough patterns out there already? Please, hear me out. The purpose of this story is to make an introduction to the CAT (Clients- ApiResoures-TokenService) pattern to promote tightly integrated but loosely coupled modular software components.

Prelude

For those who are into political science and programming, you can draw similarities between the US Federal Government and the CAT architecture pattern. Check this out.

The US Federal Government: To ensure a separation of powers, the U.S. Federal Government is made up of three branches: Legislative, Executive, and Judicial. …


Photo by Icons8 Team on Unsplash

I have worked with Angular framework since version 2. Over the years, I figured that building robust security into Single Page Application (SPA) is complex and repetitive. If you are a developer who is looking for instructions to secure your Angular application using JSON Web Token (JWT), this story is for you.

To demonstrate how easy it is to secure Angular, I will start an application from scratch and then secure it with the OpenID Connect (OIDC) library. The task is divided into two parts:

Part 1: Scaffold an Angular app using starter kit Ngx-Rocket

Part 2: Install an OIDC…


Photo by Kumpan Electric on Unsplash

I have been searching for a Visual Studio template to generate a Clean Architecture ASP.NET Core REST API solution with boilerplate code for advanced features CRUD/Paging and apparatus Repository/Unit-of-Work, Dapper, SQLKata, Swashbuckle, and GenFu. Unable to find one, I decided to create the KissApi (Keep-It-Stupid-Simple Api) template and share it in the Visual Studio marketplace.

In this tutorial, I will go over the steps to download/install the template and use the template to rapidly prototype REST API.

Overview of KissApi template

Developers can use the Visual Studio template KissAPI to scaffold a clean architecture REST API solution consisting of four projects

  1. Domain
  2. Application
  3. Persistence


Photo by Austin Distel on Unsplash

This is a multipart tutorial for implementing Token Service to secure Clients and API Resources using OIDC/oAuth2/JWT. The core technology includes

  1. IdentityServer4 + Admin UI
  2. ASP.NET CORE 3.1
  3. Angular 9+
  4. Azure Cloud (for a live demo)
  5. And many more

Who is this publication for?

  1. Angular/NetCore developers who are searching for a solution to secure your Client apps and WebAPI with JWT. You have spent weeks/months reading thru partial solutions scattered thru out the world wide web to figure out how the OIDC/oAuth2/JWT works.
  2. Developers who use Microsoft NetCore/Angular template to create a prototype and find it difficult to scale and deploy in real-world applications.
  3. Developers…


Photo by Ryan Moreno on Unsplash

Recently I published an Angular pagination/CRUD tutorial in Medium to demonstrate the use of a page for pagination and a page for data editing. This approach may not be best for tracking the state of pagination/filtering on the master page. For example, if a user is on page 5 and selects a row for edit, how can the app know to return the user to page 5 on the mast page after editing?

In this tutorial, I will employ the modal technique to remain on the master page and use the popup form for edit. After the edit…


Photo by Nathan Dumlao on Unsplash

Scenario: Imagine you are a developer at a Fortune 500 company. Your new assignment is to build an Angular SPA that searches and updates employee position records. The backend database has 100,000+ records. The requirement is to create a responsive app accessible on desktop, mobile, and tablet. The technology stack is Angular and ASP.NET Core REST API.

Tutorial Content

In this tutorial, I will provide instructions to clone a complete, working, responsive Angular app from Github, set it up on the local, and walk-thru source code pertinent to CRUD. The task is divided into three parts:

Part…


I tested drive the Oracle Entity Framework Core 5 in a REST API project. It worked well. I wrote the tutorial and published source code in the story REST API with Oracle EntityFrameworkCore 5 - https://medium.com/scrum-and-coke/rest-api-with-oracle-entityframeworkcore-5-7560f4afc47b


Photo by Ian Schneider on Unsplash

On February 11, 2021, the senior principal product manager at Oracle Alex Keh announced the release of Oracle Entity Framework Core 5. After seeing the news, I was wondering what would it take to wire up a C# REST API project to work with the new version 5.

In this story, I will demonstrate how to scaffold a clean architecture NetCore 5 REST API project — prewired with CQRS/Repository patterns and boilerplate code for CRUD, sort, filter, and paging. Then configure the solution to use Oracle Entity Framework Core for data access. Source code is available in Github.

Tutorial Content

The tutorial…

Fuji Nguyen

Software Engineer. Design and Build Angular, WebAPI, and DevSecOps Pipelines. Developer Experience (DX) Advocate and Opensource Contributor

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store