Skip to content

joaooomarcos/JMarvel

Repository files navigation

JMarvel

Platform Compatibility

Platform Swift Version XCode Version

Bem vindo

Projeto de teste baseado na API de personagens da Marvel

Principais Funcionalidades

  • Listagem de personagens ordenados por nome
  • Listagem de personagens favoritos
  • Detalhe do personagem (imagem maior, nome, descrição, carossel de series e hqs)
  • Widget com os três primeiros personagens favoritos

Recursos disponíveis

  • Pull to refresh na listagem de personagens
  • Filtro por nome na listagem de personagens
  • Scroll "infinito" (ao chegar perto do final da página, são carregados mais itens)
  • Ação de favoritar personagem dentro e fora do detalhe
  • Dark mode
  • Shortcuts

Desenvolvimento

Arquitetura

VIPER

Bibliotecas Utilizadas

  • KingFisher (baixar imagens e cachear)
  • RealmSwift (banco de dados local)
  • SwiftLint (aprimorar o padrão de código)
  • Quick (testes unitários)
  • Nimble (testes unitários)

** Todas bibliotecas utilizadas com o CocoaPods

Como executar o projeto a primeira vez

O projeto utiliza o Bundler para gerenciamento de versão das ferramentas, então é necessário ter instaldo:

sudo gem install bundler

Depois instale os componentes do Bundler (dentro da pasta do projeto):

bundle install

Por fim basta instalar o Pods na sua máquina:

bundle exec pod install

Testes unitários

Os testes unitários podem ser executados tanto pelo próprio Xcode, tanto pelo Fastlane.

Para executar via Fastlane:

bundle exec fastlane unit_tests