{"id":20126796,"url":"https://github.com/leovido/composable-much-better-exercise","last_synced_at":"2025-05-06T17:35:34.918Z","repository":{"id":45814599,"uuid":"418920137","full_name":"leovido/composable-much-better-exercise","owner":"leovido","description":"Finance demo iOS app. This is a project demonstrating the capabilities of The Composable Architecture (TCA) and Swift Package Manager.","archived":false,"fork":false,"pushed_at":"2024-08-14T18:31:38.000Z","size":11174,"stargazers_count":7,"open_issues_count":2,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-08-15T11:54:21.958Z","etag":null,"topics":["composable-architecture","fastlane","fastlane-ios","functional-programming","ios","reactive-programming","swift","swiftui","the-composable-architecture"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leovido.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-19T12:44:08.000Z","updated_at":"2024-08-14T18:31:43.000Z","dependencies_parsed_at":"2024-08-13T11:38:35.379Z","dependency_job_id":null,"html_url":"https://github.com/leovido/composable-much-better-exercise","commit_stats":null,"previous_names":["leovido/composable-much-better-exercise"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leovido%2Fcomposable-much-better-exercise","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leovido%2Fcomposable-much-better-exercise/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leovido%2Fcomposable-much-better-exercise/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leovido%2Fcomposable-much-better-exercise/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leovido","download_url":"https://codeload.github.com/leovido/composable-much-better-exercise/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224517282,"owners_count":17324412,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["composable-architecture","fastlane","fastlane-ios","functional-programming","ios","reactive-programming","swift","swiftui","the-composable-architecture"],"created_at":"2024-11-13T20:17:39.848Z","updated_at":"2024-11-13T20:17:40.419Z","avatar_url":"https://github.com/leovido.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cdiv style=\"block: inline\"\u003e\n    \u003cimg alt=\"AppView for composable-much-better-exercise; Christian Ray Leovido\" src=\"https://user-images.githubusercontent.com/18484997/137935353-07ccb47c-6bd3-4906-9bbf-4bc362f2d4ba.png\" width=\"30%\"\u003e\n    \u003cimg alt=\"LoginView for composable-much-better-exercise; Christian Ray Leovido\" src=\"https://user-images.githubusercontent.com/18484997/138886899-856f2c22-4c6c-4ac4-84a3-40e6fc4faa02.png\" width=\"30%\"\u003e\n    \u003cimg alt=\"LoginView for composable-much-better-exercise; Christian Ray Leovido\" src=\"https://github.com/kuriishu27/composable-much-better-exercise/blob/main/screenshots/en-US/iPhone%2013-Home_framed.png\" width=\"30%\"\u003e\n\u003c/div\u003e\n\n\n# 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)\n\nSimple finance iOS app.\n\n## Technical overview\n- [The Composable Architecture (TCA)](https://github.com/pointfreeco/swift-composable-architecture)\n- Swift Package Manager\n- Unit tests\n- UI tests\n- Modularisation\n\n\nThis is a project demonstrating the capabilities of [The Composable Architecture (TCA)](https://github.com/pointfreeco/swift-composable-architecture) and Swift Package Manager.\nTCA allows developers to fully encapsulate state, actions and environment to control its side effects.\n\nThis allows for easier dependency management where we can have more control of what goes where when needed.\n\nCompared to other ways of building and developing applications, TCA allows for building new **Features** in parallel in a big team.\nProductivity increases while cognitive load stays at a manageable level.\n\n## About \nThe application logs in silenty in the background requesting for a token that will be used to fetch the balance and transactions from the user.\n\n## For developers running the code\nTo 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.\n\nBy 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**\n\n## Features\n\n- App\n- Login\n- Balance\n- Transactions\n- Spend\n\nAll features are isolated within their own components. \n\nThese components are stored in folders here: [MuchBetterDependencies \u003e Sources](https://github.com/kuriishu27/composable-much-better-exercise/tree/main/MuchBetterDependencies/Sources)\n\n\n## Screenshots\n\n\u003cdiv style=\"block: inline\"\u003e\n    \u003cimg alt=\"AppView for composable-much-better-exercise; Christian Ray Leovido\" src=\"https://user-images.githubusercontent.com/18484997/137920419-cac28727-659d-4881-a9ef-73773557716e.png\" width=\"30%\"\u003e\n\u003cimg alt=\"AppView for composable-much-better-exercise; Christian Ray Leovido\" src=\"https://user-images.githubusercontent.com/18484997/137920437-ad21c431-3da6-4ffa-ba8f-c4fb51f4e2cd.png\" width=\"30%\"\u003e\n  \n  \u003cimg alt=\"SpendView\" src=\"https://user-images.githubusercontent.com/18484997/137920444-053aa9db-49de-4c52-a65e-6011e7761eb4.png\" width=\"30%\" \u003e\n  \n  \u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleovido%2Fcomposable-much-better-exercise","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleovido%2Fcomposable-much-better-exercise","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleovido%2Fcomposable-much-better-exercise/lists"}