// the find
engindemirog/NetCoreBackend
A teaching-oriented ASP.NET Core backend that demonstrates a layered architecture with AOP via Autofac interceptors, JWT auth, FluentValidation, and Log4Net. It is explicitly a course project — the repo is the companion code for a Udemy course by the same author. Not production software.
The AOP interceptor approach is well-structured: caching, logging, performance monitoring, validation, and transaction aspects are all implemented as attributes applied declaratively to service methods, which is a clean pattern rarely demonstrated this clearly in C# tutorials. The Result pattern (IResult, IDataResult, SuccessResult, ErrorResult) is consistently applied across all service return types, avoiding raw exceptions for business failures. JWT setup is extracted into helpers (JwtHelper, HashingHelper, SecurityKeyHelper) rather than scattered through Startup, which makes it easy to follow. The Autofac module system (CoreModule, AutofacBusinessModule) gives you a concrete example of modular DI registration.
This is a Northwind sample with products and categories — there is no real domain problem being solved, so you cannot learn from design decisions made under actual constraints. Last commit was January 2024 and the project still uses Startup.cs with ConfigureServices/Configure rather than the minimal hosting model that has been the default since .NET 6; anyone starting fresh today would write different bootstrapping code. Log4Net is an odd choice in 2024 when Microsoft.Extensions.Logging with Serilog is the standard .NET ecosystem answer and integrates with the same DI container already in use. There are no tests anywhere in the repo — the AOP aspects are exactly the kind of cross-cutting code that is hard to verify without them.