Teste admissional: Uppersoft ============================ - Vaga: Desenvolvedor Android Nativo Pleno/Sênior - Data: 2020-12-14T17:12:26-0300 - Prazo: 2020-12-16 ## Solicitado Boa tarde Adler, Segue o teste para a vaga de Desenvolvedor Android. Desenvolver um app Android de consulta a base de dados do Reddit. A tela inicial de abertura deve dar acesso, por meio de um botão, a uma nova tela a qual trará informações do subreddit em uma lista personalizada. A tela de listagem do conteúdo deve conter o título "r/androiddev" e uma lista com as principais informações dos tópicos obtidos (trazidos pela API). Link da API: https://www.reddit.com/r/androiddev.json?raw_json=1 Linguagem: Kotlin. Disponibilizar o teste em um repositório git e nos enviar o link para análise. O prazo é até quarta-feira, dia 16/12. Atenciosamente, [REDACTED] ## Diário de bordo ### Primeiras Impressões Sabendo que viram meu repositório, especificamente este [crawler em python](https://git.adlerneves.com/adler/reddit-image-wall-getter) e este [início de reescrita do anterior em Rust](https://git.adlerneves.com/adler/reddit-image-wall-rs), acho que este teste está subdimensionado. ### Planejamento Inicial Após leitura: - Repositório GIT criado como público; - Vontade de modelar o diagrama de estados da tela usando PlantUML, para não depender do texto; - Vontade de criar uma pipeline de CI, mas com 2GB de uso de disco livres não será possível; - Ponderações sobre como incrementar o produto mínimo que ficará para a branch; - Ações de toque curto e toque longo? Resoluções: - Commits na master terminam com o projeto vazio enviado; - Usar Conventional Commits e commits frequentes; - MVP solicitado primeiro; depois, os extras que couberem no tempo na branch [overtime](https://git.adlerneves.com/adler/teste-admissional-uppersoft-desenvolvedor-android-nativo-2020-12-14/src/branch/overtime/) até email futuro chegar ou as ideias para um visualizador. Extras para a branch overtime: - Paginação; - Adicionar tag NSFW; - Adicionar caching; - Adicionar mudança de categoria de visualização (top (padrão), new, best, rising); - Mostrar a thumbnail; - Comentários (dificuldade possivelmente elevada, já que são aninhados).