Skip to content

A sample iOS app using TCA and Clean Architecture best practices

License

Notifications You must be signed in to change notification settings

admkopec/RickMorty

Repository files navigation

Rick & Morty

A sample iOS application using The Composable Architecture. The application uses the The Rick and Morty API to display list of characters and basic information about them. The application aims to be modular following Clean Architecture guidelines and implementing repository patterns or separate worker classes for more advanced application logic. The Views are composed using TCA with the minimal business logic provided as part of Reducers. They connect to workers and repositories via TCA's Dependencies which unfortunately have to be provided as bridging structs due to TCA's inner architecture, and I am against writing complex logic in closures :)

Features

  • Infinite scroll pagination and LazyVStack for minimising the memory footprint of the application.
  • AsyncImage for loading thumbnails only when needed
  • CoreData storage for keeping track of "Favourite" characters
  • .searchable() modifier for character searching

Disclaimer

This is my first and only iOS project using TCA. I greatly appreciate the macros and extensive documentation including tutorials offered by this architecture. However, the way it implements reducers and dependecy injection, in my opinion greatly hinders code readability. This is why, I will most probably stick with Clean Swift or a variant of MVVM for my personal projects.

About

A sample iOS app using TCA and Clean Architecture best practices

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages