Simple finance iOS app.
- The Composable Architecture (TCA)
- Swift Package Manager
- Unit tests
- UI tests
- Modularisation
This is a project demonstrating the capabilities of The Composable Architecture (TCA) and Swift Package Manager. TCA allows developers to fully encapsulate state, actions and environment to control its side effects.
This allows for easier dependency management where we can have more control of what goes where when needed.
Compared to other ways of building and developing applications, TCA allows for building new Features in parallel in a big team. Productivity increases while cognitive load stays at a manageable level.
The application logs in silenty in the background requesting for a token that will be used to fetch the balance and transactions from the user.
To run the app, open the .xcworspace file and Xcode will start fetching the dependencies. All you need to do is select "composable-much-better-exercise" scheme and run the app with a Simulator @ iOS 15.0.
By default, the app will run in "mock" mode. This is to avoid any third party real API requests. This can be swapped easily by changing .mock from the @main AppView's store to .live
- App
- Login
- Balance
- Transactions
- Spend
All features are isolated within their own components.
These components are stored in folders here: MuchBetterDependencies > Sources