After this they make applications with data access code directly in the ASP.NET Core WebAPI controllers. I tell them not to do that, and teach them about layering, the old n-layer architecture, and the onion architecture reversing the dependencies. We work with testability and unit tests. And they learn to not expose objects of the domain model outside the application.
Let's assume that a full understanding of Domain Driven Design and CQRS are out of scope for my students, and/or assume that they will make some small and simple applications.
What architectural topics could I consider teaching them in this context? Another way of asking the same would be; in a simple application based on good object-oriented programming, ASP.NET Core WebAPI and SQL Server Db - and a Vue.js frontend, what would be a simple but still good architecture to consider?