Pseudorandom Knowledge

A modern three tier website

Design principles for a three tier website with clear responsibilities and well defined interfaces.

Frontend

The frontend is implemented as a Single Page Application using Angular.

The frontend communicates with the backend using REST.

Backend

The backend is implemented as a RESTful API using ASP.NET Core.

The backend is responsible for security, authentication and authorization.

The backend generates database queries via, for example, LINQ to SQL.

Database

The database exposes simple interfaces by providing views and stored procedures.

The database ensures data is consistent with the help of triggers and constraints.