Uma boa dica para quem está acostumado apenas com projetos de cursos (que geralmente são bem básicos, tudo hardcoded, sem abstrações) é clonar o repositório do próprio TabNews, e tentar entender como está organizado o projeto (separação dos models, errors, paginas, etc.). É um bom começo.
Respondendo a "Dado o seu nível de experiência (não é mais um..." dentro da publicação [Discussão] : Arquitetura de software
2