Olá, Luís! Como vai?
Parabéns pela conclusão do desafio, principalmente pela iniciativa de buscar desenvolver a solução sem acompanhar a resolução das aulas.
Gostei bastante da forma como utilizou o Stream para filtrar marcas e modelos, além da criação de DTOs e exceções próprias para tratar diferentes situações durante a execução.
Também foi muito interessante a preocupação em identificar pontos de melhoria, como a quantidade de responsabilidades concentradas na classe Principal. Uma evolução natural seria separar essas responsabilidades em classes ou serviços específicos, deixando a Principal mais focada no fluxo da aplicação e delegando consultas à API, interação com o usuário e regras de negócio para componentes próprios.
A solução demonstra uma boa evolução na aplicação dos conceitos do curso, especialmente pela tentativa de resolver os problemas de forma independente e pelo cuidado com o tratamento de exceções. Essa postura de primeiro construir uma solução própria e depois analisar como ela pode ser melhor organizada é uma ótima forma de consolidar o aprendizado.
Fico à disposição! E se precisar, conte sempre com o apoio do fórum.
Abraço e bons estudos!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!