By type
/Controllers/Events/Models
By topic
/Comments/Posts/Users
By topic, then type
/Comments/Controllers/Events/Models
/Posts/Controllers/Events/Models
/Users/Controllers/Events/Models
Mixed
/Comments/Controllers/Events/Models/Posts/Users

@frankdejonge comes close to what we use these days, except for a slightly different naming convention. We call "infra" "Web" or "Http" to give a better understanding what that package deals with. And in case we need a CLI package, those classes will get placed in a "Cli" folder. In addition to that we place all classes in the src folder. I do not like the idea of having multiple src folders even though I get your intention ;)