Improve Your .NET Git Commits With Husky.Net
Do commit messages like "fixed linting errors", "fixed unit tests" or "format code" look familiar? These are typical commits to fix the little mistakes that inevitably creep into everyone's code. [...]
continue readingBuilding a Background Web Scraper in ASP.NET Core With Hangfire and Puppeteer Sharp
One of my favorite things about .NET is its package ecosystem. 374K public packages available on NuGet provide a vast and rich collection of libraries and technical possibilities to consider when composing solutions with .NET. [...]
continue readingAgile Practices for Software Success
In this post, I'll share a few ideas and practices I've come to rely on while improving my agility as a software developer and becoming a more effective teammate and leader within agile teams. [...]
continue readingSOLID Design Principles in TypeScript
Software, by definition, is intended to be re-shaped as needed throughout its lifetime - it's in the name. In other words, creating clean and maintainable designs that are easy to change in response to new requirements is vital for any successful product. [...]
continue readingClean Architecture with Xamarin Forms
The quality, good or bad - of a software solution has significant impacts on the developers who make it, the companies employing them, and, most importantly, the users who rely on it to provide some value in their daily lives — quality matters. [...]
continue readingBuild an Authenticated GraphQL App with Angular, ASP.NET Core and IdentityServer - Part 4
Welcome to the final part in this series, in which we're building a real-world GraphQL-driven application using Angular, ASP.NET Core, and IdentityServer. In the last post, we implemented an ASP.NET Core GraphQL API with authorization [...]
continue readingBuild an Authenticated GraphQL App with Angular, ASP.NET Core and IdentityServer - Part 3
Welcome to part three in this series, in which we're building a real-world GraphQL-driven application using Angular, ASP.NET Core, and IdentityServer. In the last post, we progressed the solution by creating the skeleton for our Angular [...]
continue readingBuild an Authenticated GraphQL App with Angular, ASP.NET Core and IdentityServer - Part 2
Welcome to part two in this series, in which we're building a real-world GraphQL-driven application using Angular, ASP.NET Core, and IdentityServer. In the last post, we kicked things off on the backend by making an IdentityServer [...]
continue readingBuild an Authenticated GraphQL App with Angular, ASP.NET Core and IdentityServer - Part 1
Whatever end of the software development stack you spend the majority of your time in, if you're building a modern web or mobile application in 2019, you've at least heard of or are actively working with GraphQL in some capacity. [...]
continue readingUser Authentication and Identity with Angular, Asp.Net Core and IdentityServer
Building a robust security model within our applications is a critical step toward shipping the type of high-quality, high-value software solutions we strive to deliver to our customers and organizations. Despite its importance [...]
continue readingPainless Integration Testing with ASP.NET Core Web API
As the art of software development has evolved, the strategies and practices used in software testing have grown up with it. Automated testing is an integral part of modern dev ops and agile approaches and enables teams to ship [...]
continue readingJWT Authentication Flow with Refresh Tokens in ASP.NET Core Web API
At the start of this year, I put together a detailed guide on using JWT authentication with ASP.NET Core Web API and Angular. At 120+ comments, it is currently the busiest page on this tiny corner of the internet which is [...]
continue readingBuilding ASP.NET Core Web APIs with Clean Architecture
Last year I wrote a post introducing clean architecture and attempted to explain how its layered approach and separation of concerns can help overcome some common software design pitfalls enabling us to create testable [...]
continue readingBuilding a GraphQL API with ASP.NET Core 2 and Entity Framework Core
GraphQL is a relatively new technology developed initially at Facebook and open-sourced to the world in 2015. In 2017, it really took off and made the leap from a cool, niche technology to one of the primary ways companies like Walmart [...]
continue readingUser Authentication with Vue.js, ASP.NET Core 2 and Facebook Login
In my previous post I detailed how to setup JWT authentication with ASP.NET Core 2, Angular 5, and Facebook OAuth. It received some great feedback and also a few requests to make a Vue.js version - so here it is! [...]
continue readingJWT Authentication with ASP.NET Core 2 Web API, Angular 5, .NET Core Identity and Facebook Login
This is an updated version of a post I did last May on the topic of jwt auth with Angular 2+ and ASP.NET Core Web Api. That post was based on ASP.NET Core 1.x so it's a little dated and not as relevant now since everyone is hacking on [...]
continue readingGet Started Building Microservices with ASP.NET Core and Docker in Visual Studio Code
Containers and microservices are two huge, emerging trends in software development today. For the uninitiated, containers are a super cool way to package up your application, its dependencies, and configuration in a [...]
continue readingBetter Software Design with Clean Architecture
Clean Architecture keeps details like web frameworks and databases in the outer layers while important business rules and policies are housed in the inner circles and have no knowledge of anything outside of themselves. [...]
continue readingUser Authentication with Angular and ASP.NET Core
User authentication is a fundamental part of any meaningful application. Unfortunately, implementing it properly can be a painful exercise that steals time and energy away from more meaningful features of our application. [...]
continue readingGet Started with Angular 2 and ASP.NET Core in Visual Studio Code
Getting off the ground with Angular 2 and ASP.NET Core right now can be a little intimidating. There's multiple ways to combine these two powerful frameworks to make something awesome. The goal of today's post is to clear up [...]
continue reading