Based on Dribbble shot by Ela Kumela, implemented by Bartłomiej Guminiak for El Passion
Dribbble shot | Demo app |
---|---|
Requirements:
- Xcode 10.1
To set up the project, open terminal in MeditationAppShowcase folder and run pod install
.
Open MeditationAppShowcase.xcworkspace
and run production scheme in a chosen simulator. If you want to run the app on a real device, you need to update code signing configuration first.
- There are no external dependencies 🔥
- MVVM design architecture ❤️
- The
Business logic
is fully separated fromView logic
. The business logic is performed in viewModels, child viewModels and helpers, and view logic in viewControllers and it's childs / subviews ⚡️ - All dependencies are being protocol-injected via simple dependency container 👌
- Most of the subviews and it's interesting autolayout constraints are exposed to the interface so the animations can be implemented in decorators ☝️
- The
Observer design pattern
is realized by genericEventEmitter<T>
EventEmitter.swift 🙏 - Playlist is build on
UITableView
for resource optimisation and speed so it can handle thousands of songs with no fear 🚀 - Data on play list is mocked up in MeditationViewModel+Data.swift file 🍺
Copyright © 2019 EL Passion
License: GNU GPLv3
🤠