Disclaimer: Do not use this in production. This is just an example I put together to show some concepts. Also, I picked this project structure because it is very popular based on the clean architecture. My preferred approach is different, which is to use feature folders instead and keep things that are similar together.
Accompanying blog post at Repository pattern Part 1.