Skip to content

thiagomdev/ViaCep

Repository files navigation

📮 ViaCep

Um app iOS para consulta de CEPs brasileiros, construído com UIKit e arquitetura VIP (Clean Swift).

ViaCepApp Demo

🏛 Arquitetura

  • VIP — View → Interactor → Presenter
  • Factory Pattern — composição de dependências centralizada
  • WebService genérico — camada de rede reutilizável

🛠 Tecnologias

  • Swift
  • UIKit
  • URLSession
  • CocoaPods
  • GitHub Actions (CI)

🧪 Testes

  • XCTest
  • Padrão de Fixtures para dados de teste
  • Spies para verificação de interações
  • Estrutura espelhando a do app

📂 Estrutura de Pastas

ViaCep/
├── Scenes/
│   ├── View/
│   ├── Interactor/
│   ├── Presenter/
├── Services/
│   └── WebService/
├── Factories/
├── Models/
└── Resources/

ViaCepTests/
├── Fixtures/
├── Spies/
└── Scenes/

🌐 API

O app consome a API pública do ViaCEP:

GET https://viacep.com.br/ws/{cep}/json/

🚀 Como rodar

  1. Clone o repositório
  2. Rode pod install na raiz do projeto
  3. Abra o ViaCep.xcworkspace (não o .xcodeproj)
  4. Rode no simulador com Cmd + R

About

App com foco em buscar CEP. Arquitetura VIP, WebService foi feito de forma genérica. Implementação do Factory, padrão de design bem usando no mercado. Testes Unitários, usando o padrão de Fixture's para facilitar.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors