Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/leovido/composable-much-better-exercise

Finance demo iOS app. This is a project demonstrating the capabilities of The Composable Architecture (TCA) and Swift Package Manager.
https://github.com/leovido/composable-much-better-exercise

composable-architecture fastlane fastlane-ios functional-programming ios reactive-programming swift swiftui the-composable-architecture

Last synced: 2 days ago
JSON representation

Finance demo iOS app. This is a project demonstrating the capabilities of The Composable Architecture (TCA) and Swift Package Manager.

Awesome Lists containing this project

README

        


AppView for composable-much-better-exercise; Christian Ray Leovido
LoginView for composable-much-better-exercise; Christian Ray Leovido
LoginView for composable-much-better-exercise; Christian Ray Leovido

# composable-much-better-exercise (TCA) [![Swift Version](https://img.shields.io/badge/swift-5.5-orange)](https://github.com/apple/swift) ![iOS version](https://img.shields.io/badge/iOS%20version-15.0-blue) ![architecture](https://img.shields.io/badge/architecture-TCA-brightgreen) ![Follow](https://img.shields.io/twitter/follow/c_leovido?style=social)

Simple finance iOS app.

## Technical overview
- [The Composable Architecture (TCA)](https://github.com/pointfreeco/swift-composable-architecture)
- Swift Package Manager
- Unit tests
- UI tests
- Modularisation

This is a project demonstrating the capabilities of [The Composable Architecture (TCA)](https://github.com/pointfreeco/swift-composable-architecture) 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.

## About
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.

## For developers running the code
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**

## Features

- App
- Login
- Balance
- Transactions
- Spend

All features are isolated within their own components.

These components are stored in folders here: [MuchBetterDependencies > Sources](https://github.com/kuriishu27/composable-much-better-exercise/tree/main/MuchBetterDependencies/Sources)

## Screenshots


AppView for composable-much-better-exercise; Christian Ray Leovido
AppView for composable-much-better-exercise; Christian Ray Leovido

SpendView