Most back end services will accept input by way of JSON. After verifying that the JSON is well formed there is a large amount of validation that will need to performed such as:
Do the expected properties exist on the input?
Are the properties of the expected type?
Are the string lengths in the expected range?
A class of libraries called schema validators solve this problem in an elegant and declarative way.
Most back-end services will end up making calls to a relational database. The two most popular ways to do this are with raw SQL, or using a an Object Relational Mapping (ORM) library. But there is a third level of abstraction out there called a query builder. I believe that of the three approaches the query builder one is the best.
Single-page-applications (SPAs) have a lot of desirable characteristics such as a high level of interactivity and ease of deployment. Unfortunately the security story is not as strong. Without a backend they have to store sensitive credentials they need to access APIs on the client side. These difficulties are further compounded by increasingly strict browser cookie defaults that make implementing more complicated auth flows like OpenID Connect very difficult.
I often find myself having to consume native libraries in Nuget packages I publish. There are a lot of Nuget packages out there that do this, however there is very little up to date documentation about how you would do it yourself. Given the broad platform and architecture support of dotnet this can be decently complicated. Thankfully recent advancements in tooling have made this considerably easier, so let's get started.