Starship Application With Swift

PMGTask

Features

  • Home Page with TabBar of Films and Starships
  • Load table of Films and Starships from API – Link to FILMS && Link to STARSHIPS
  • Libraries Used Alamofire and PromiseKit

Folder Structure

TableViewTest
Library
│  └─ Network
│     ├─ NetworkManager
├─ Modules
│  └─ Films
│     ├─ Views
│     │  ├─ FilmList
│     │  │   └─Cells
│     │  │       └─FilmsTableViewCell
│     │  ├─FilmsListViewController
│     │  └─ FilmsListViewControllerTest
│     │  ├─ FilmDetails
│     │  │   ├─FilmDetailsViewController
│     │  │   └─FilmDetailsViewControllerTest
│     ├─ ViewModel
│     │  ├─FilmsViewModel
│     │  └─FilmsViewModelTest
│     ├─ Entities
│     │  ├─ FilmEntities
│     └─ Repository
│        ├─ FilmsApiRepository
│  │      └─ FilmsApiRepositoryMock
│  │
│  └─ Starships
│     ├─ Views
│     │  ├─ StarshipList
│     │  │   └─Cells
│     │  │       └─StarshipsTableViewCell
│     │  ├─StarshipsListViewController
│     │  └─ StarshipsListViewControllerTest
│     │  ├─ StarshipDetails
│     │  │   ├─StarshipDetailsViewController
│     │  │   └─FStarshipDetailsViewControllerTest
│     ├─ ViewModel
│     │  ├─StarshipsViewModel
│     │  └─StarshipsViewModelTest
│     ├─ Entities
│     │  ├─ StarshipEntities
│     └─ Repository
│        ├─ StarshipsApiRepository
│        └─ StarshipsApiRepositoryMock

Screenshots

Test Coverage

Architecture Diagram

GitHub

View Github