Uma das principais responsabilidades do time de mobile platform da OLX Brasil é evoluir constantemente a arquitetura dos nossos apps.
Para isto, as pessoas engenheiras da nossa squad precisam dominar as melhores práticas de arquitetura de software (ex: modularização e desacoplamento), assim como garantir a qualidade e segurança.
Desafio:
Faça um fork desse repo e refatore o aplicativo para uma nova arquitetura que garanta:
- Escalabilidade, ou seja, permita que novas features sejam adicionadas sem necessidade de alterar o código existente
- Reuso, ou seja, permitir que partes do app possam ser reaproveitadas em outros apps
- Testabilidade - Aqui gostaríamos de analisar sua implementação de testes unitários e de UI
Você poderá ganhar pontos extras se (totalmente opcional):
- Implementar automação de CI/CD
- Habilitar ferramenta de análise estática de seu código
Dica:
- Como somos um time de plataforma, estamos mais interessados em analisar seus skills em arquitetura, portanto você não precisa evoluir a UI (usabilidade / telas / interface)
- Para que possamos analisar o seu processo de desenvolvimento, não desenvolva tudo em uma única branch ou em um único commit
Boa sorte :)