Skip to content

Instantly share code, notes, and snippets.

@morpheby
Created February 12, 2019 15:50
Show Gist options
  • Save morpheby/8347e2bc6ed3299f006833ba600fefd5 to your computer and use it in GitHub Desktop.
Save morpheby/8347e2bc6ed3299f006833ba600fefd5 to your computer and use it in GitHub Desktop.
MyApplication
+ App
| // This is your main application bundle
| + Routers
| | // Here are all of your routers located (your wireframe)
| |> MainScreenRouter.swift
| |> HomeScreenRouter.swift
| |> AnotherScreenRouter.swift
|> AppDelegate.swift
+ AppUI
| // This is a framework that contains all of your app's UI.
| // All your screens are there, as well as everything needed to
| // support your UI like custom views, cells, extensions, etc.
| + HomeScreen
| | // Your actual ViewController goes here, same for other screens.
| | // You can also put any views in here that are local to this screen
| |> HomeScreenViewController.swift
| - MainScreen
| - AnotherScreen
- Helpers // Put your Helper frameworks here
+ Screens
| // All of your VIPER Modules should go here
| + MainScreen
| | // This is your VIPER Module, which also happens to be a separate framework
| |> View.swift // Your View interface
| |> Presenter.swift // Your Presenter interface and DefaultPresenter implementation
| |> Interactor.swift // Your Interactor interface and DefaultInteractor implementation
| |> Router.swift // Your Router interface
| - HomeScreen
| - AnotherScreen
+ Services
| // This is where your Services should be. Each is its own framework
| + LoginService
| |> LoginService.swift
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment