Skip to content

A sample over The Clean Architecture + RxSwift + MVVMC uses the Spotify APIs + Custom Dark Mode+ Unit Tests

License

Notifications You must be signed in to change notification settings

behrad-kzm/SpotifyExplorer

Repository files navigation

SpotifyExplorer

A sample over The Clean Architecture + RxSwift + MVVMC uses the Spotify APIs

Demo

1- Splash

2- Login & Following

3- Albums List

Installing and build

Dependencies in this project are provided via Cocoapods. Please install all dependecies with

pod install

Build sequence:

Domain > NetworkPlatform > Application

High level overview

Domain

The Domain is basically what is the App about and what it can do (Entities, UseCase etc.) It does not depend on UIKit or any persistence framework, and it doesn't have implementations apart from entities

Platform

The Platform is a concrete implementation of the Domain in a specific platform like iOS. It does hide all implementation details.

Application

Application is responsible for delivering information to the user and handling user input. It can be implemented with any delivery pattern e.g (in SpotifyExplorer app is MVVM). This is the place for UIViews and UIViewControllers. As you will see from the SpotifyExplorer app, ViewControllers are completely independent of the Platform. The only responsibility of a view controller is to "bind" the UI to the Domain to make things happen.

Refrences

Contact me

About

A sample over The Clean Architecture + RxSwift + MVVMC uses the Spotify APIs + Custom Dark Mode+ Unit Tests

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages