Educational project for Fintech Tinkoff iOS course.
- Application and ViewController LifeCycle (to run in debug mode (with logs) select TinkoffMessengerDebug scheme, otherwise - TinkoffMessenger scheme)
- Profile screen UI
- Chat list and dialogue screen UI via
UITableView
- Memory Management playground (understanding how to work without retain cycles)
- Read/Write data from files (profile picture, name, description) using
GCD
andOperation
- Fetching/Adding data to
Firebase
, creating new channels - Save/Load profile data using CoreData
- Channel and message caching via CoreData. NSFetchedResultsController - in process
- Architecture (SOA, MVC) - ?
- Ability to select avatars from the network via
UICollectionView
andURLSessionTask
- SendButton state transition animations. (animation effect with Tinkoff logo during touching the screen in any area - not done)
- Sorting channels Unit tests via
XCTest