/TokenFlix

Desafio Técnico para estágio em desenvolvimento mobile da TokenLab.

Primary LanguageDart

TokenFlix

O desafio consiste em elaborar um aplicativo que obtenha os dados desta API, apresentando-os de forma simples e acessível, seguindo os padrões de usabilidade da plataforma. Preze pela qualidade e não pela velocidade, utilize o tempo que lhe foi dado da melhor forma possível.

O TokenFlix foi desenvolvido em Flutter. O TokenFlix consome a API REST disponibilizada no desafio e exibi os filmes em um catálogo virtual. Inicialmente, o usuário pode ver o poster do filme, seu rating e se está favoritado. Ao clicar no poster do filme, o usuário é redirecionado para a página de detalhes do filme, onde poderá ver mais informações sobre ele, como a sua sinopse.

Arquitetura

A arquitetura escolhida para o projeto foi a MVC. Essa arquitetura é amplamente utilizada em aplicações web e permite uma melhor separação dos componentes da aplicação, o que facilita o desenvolvimento e a manutenção do código. Além disso, a MVC é compatível com diversas tecnologias e padrões web, o que torna mais fácil integrar novos recursos no projeto.

Packages

Name Version
http pub package
provider pub package
flex_color_scheme pub package
cached_network_image pub package

http: Existem boas alternativas da packages para realizar as requisições, como o "dio". Para esse projeto simples escolhi usar esse package abstraído por outra classe. Com isso, não importa o package, as requisições serão abstraídas e sempre as mesmas.

provider: Usado para injetar dependências na arvore de widgets. Os controllers foram injetados por meio do "MultiProvider".

flex_color_scheme: Usado para facilitar a personalização de um tema para o app.

cached_network_image: Usado para carregar as imagens ou mostrar outra estrutura em caso de erro. Sua funcionalidade de placeholder é uma ótima forma de mostrar ao usuário que algum conteúdo está sendo carregado.