I’d love an official example of big app following the Rails way or an official guide of what goes where outs of the simples MVC. David started this via his On Writing Software Well series, but this was never part of official documentation.
I see a lot of confusion around basic Rails project structure, because many devs consider ./app/models folder to be aimed only from DB abstraction. Therefore, I see
- random classes in ./lib, which are 100% domain
- ./app/services folders
- ./app/doman folders (sometimes consisting of libraries)
- ./app/creators|destroyers|updaters folder
I am sure all bigger project face the same problems and an official guide seem very beneficial. Even if someone decides that, for whatever reason, ./app/services is the best way for this particular project, it will be a conscious decision and not something that just seems natural.
Also, the definition of what goes in ./lib is very vague.