The generic repository will contain the common methods among all application repositories, feel free to include other methods that you think are common in your application in the interface and class. In this way, we will create the interface determining which methods will be exposed and a class that will implement this interface.
Domain Driven Architectures building_construction
Software design is a very hard thing. From years, a trend has appeared to put the business logic, a.k.a. the (Business) Domain, and with it the User, in the heart of the overall system. Based on this concept, different architectural patterns was imaginated.
One of the first and main ones was introduced by E. Evans in its Domain Driven Design approach.
Focus on the back end, the fron just to illustrate how it works