I use the same structure as laravel provides out of the box. I make 2 changes.
-
I dont put models into the app/ folder. In larger apps I think this is very confusing. So generally I make a subfolder under app for models. I happen to call them "Repositories", but you can name it whatever.
-
I have a Lib folder for functionality that I create in the app but isnt really a core part of the app. In an ideal world id move those to its own composer packages but I dont always get around to it.