Skip to content

Repository files navigation

🧼 CleanSwift

Projeto de exemplo demonstrando a arquitetura Clean Swift (VIP) em iOS, usando uma requisiΓ§Γ£o simples Γ  API do ViaCEP para ilustrar a separaΓ§Γ£o de responsabilidades entre as camadas.

πŸ› Arquitetura

Clean Swift (VIP)

Main/
β”œβ”€β”€ MainViewController   β†’ apresentaΓ§Γ£o e captura de eventos
β”œβ”€β”€ MainInteractor       β†’ lΓ³gica de negΓ³cio e orquestraΓ§Γ£o
β”œβ”€β”€ MainPresenter        β†’ formata os dados para a View
β”œβ”€β”€ MainWorker           β†’ comunicaΓ§Γ£o com serviΓ§os externos
└── MainModels           β†’ Request, Response e ViewModel

Fluxo
View β†’ Interactor β†’ Worker β†’ API β†’ Interactor β†’ Presenter β†’ View

πŸ›  Tecnologias

  • Swift
  • UIKit
  • URLSession
  • Sem dependΓͺncias externas

πŸ§ͺ Testes

XCTest Β· Spies e Mocks Β· cobertura nas camadas VIP

CleanSwiftTests/
└── Scenes/
    └── Main/
        β”œβ”€β”€ MainInteractorTests
        β”œβ”€β”€ MainPresenterTests
        └── MainWorkerTests

πŸ“‚ Estrutura de Pastas

CleanSwift/
β”œβ”€β”€ Scenes/
β”‚   └── Main/
β”‚       β”œβ”€β”€ MainViewController.swift
β”‚       β”œβ”€β”€ MainInteractor.swift
β”‚       β”œβ”€β”€ MainPresenter.swift
β”‚       β”œβ”€β”€ MainWorker.swift
β”‚       └── MainModels.swift
β”œβ”€β”€ Services/
β”‚   └── Network/
└── Resources/

CleanSwiftTests/
└── Scenes/
    └── Main/

🌐 API

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

πŸš€ Como rodar

  1. Clone o repositΓ³rio
  2. Abra o CleanSwift.xcodeproj
  3. Rode no simulador

About

A simple clean architecture example using a basic viacep request to handle with layers.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages