{"id":13601830,"url":"https://github.com/Ivy-Apps/ivy-wallet","last_synced_at":"2025-04-11T04:31:46.068Z","repository":{"id":37258226,"uuid":"424253762","full_name":"Ivy-Apps/ivy-wallet","owner":"Ivy-Apps","description":"Ivy Wallet is an open-source money manager app for android that you can either build or download from Google Play.","archived":false,"fork":false,"pushed_at":"2024-05-01T10:21:41.000Z","size":17148,"stargazers_count":2326,"open_issues_count":47,"forks_count":514,"subscribers_count":21,"default_branch":"main","last_synced_at":"2024-05-01T11:31:16.440Z","etag":null,"topics":["android","android-architecture","functional-programming","functional-reactive-programming","hilt-android","jetpack-compose","jetpackcompose","kotest","kotlin","kotlin-flow","ktor-client","modularization","money-manager","mvi-android","mvi-architecture","reactive-programming","room-database","ui-ux"],"latest_commit_sha":null,"homepage":"https://play.google.com/store/apps/details?id=com.ivy.wallet","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ivy-Apps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["Ivy-Apps"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2021-11-03T14:20:08.000Z","updated_at":"2024-07-21T10:40:34.488Z","dependencies_parsed_at":"2024-03-08T00:28:25.638Z","dependency_job_id":"a0b85d1a-1b63-4df0-844b-9e23e7ce7496","html_url":"https://github.com/Ivy-Apps/ivy-wallet","commit_stats":null,"previous_names":[],"tags_count":102,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ivy-Apps%2Fivy-wallet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ivy-Apps%2Fivy-wallet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ivy-Apps%2Fivy-wallet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ivy-Apps%2Fivy-wallet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ivy-Apps","download_url":"https://codeload.github.com/Ivy-Apps/ivy-wallet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223458656,"owners_count":17148495,"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":["android","android-architecture","functional-programming","functional-reactive-programming","hilt-android","jetpack-compose","jetpackcompose","kotest","kotlin","kotlin-flow","ktor-client","modularization","money-manager","mvi-android","mvi-architecture","reactive-programming","room-database","ui-ux"],"created_at":"2024-08-01T18:01:08.606Z","updated_at":"2024-11-07T04:31:54.717Z","avatar_url":"https://github.com/Ivy-Apps.png","language":"Kotlin","funding_links":["https://github.com/sponsors/Ivy-Apps"],"categories":["Android Kotlin Project Showcase","Kotlin","android"],"sub_categories":[],"readme":"[![Latest Release](https://img.shields.io/github/v/release/Ivy-Apps/ivy-wallet)](https://github.com/Ivy-Apps/ivy-wallet/releases)\n[![APK](https://github.com/Ivy-Apps/ivy-wallet/actions/workflows/apk.yml/badge.svg)](https://github.com/Ivy-Apps/ivy-wallet/actions/workflows/apk.yml)\n[![Telegram Group](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge\u0026logo=telegram\u0026logoColor=white)](https://t.me/+ETavgioAvWg4NThk)\n\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n[![PRs welcome!](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Ivy-Apps/ivy-wallet/blob/main/CONTRIBUTING.md)\n[![GitHub Repo stars](https://img.shields.io/github/stars/Ivy-Apps/ivy-wallet?style=social)](https://github.com/Ivy-Apps/ivy-wallet/stargazers)\n[![Fork Ivy Wallet](https://img.shields.io/github/forks/Ivy-Apps/ivy-wallet?logo=github\u0026style=social)](https://github.com/Ivy-Apps/ivy-wallet/fork)\n\n# [Ivy Wallet: money manager](https://play.google.com/store/apps/details?id=com.ivy.wallet)\n\n|                                                                                                            |                                                                                                            |                                                                                                            |                                                                                                            |\n|:----------------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------:|\n| ![1](https://user-images.githubusercontent.com/5564499/189540998-4d6cdcd3-ab4d-40f7-85d4-c82fe8a017d1.png) | ![2](https://user-images.githubusercontent.com/5564499/189541011-1ebbd8b6-50fe-432a-91e2-59206efe99ce.png) | ![3](https://user-images.githubusercontent.com/5564499/189541023-35e7f163-d639-4466-9a91-c56890d5a28e.png) | ![4](https://user-images.githubusercontent.com/5564499/189541027-d352314c-fd5c-43eb-82ad-4aba14c7b0fa.png) |\n| ![5](https://user-images.githubusercontent.com/5564499/189541030-1a0d7948-33af-420b-b126-936d0211c93f.png) | ![6](https://user-images.githubusercontent.com/5564499/189541035-621c4511-5ec7-4d3f-b08e-925d8da95472.png) | ![7](https://user-images.githubusercontent.com/5564499/189541127-7adf5bfa-0652-461c-80f1-076b7179eb6c.png) | ![8](https://user-images.githubusercontent.com/5564499/189541040-7cab633e-be4c-40b2-a2c6-890a15edf805.png) |\n\nIvy Wallet is a free and open source **money management android app**. It's written using **100% Kotlin and Jetpack Compose**. It's designed to help you keep track of your personal finances with ease.\n\nThink of Ivy Wallet as a manual expense tracker that tries to replace the good old spreadsheet for managing your finances.\n\n**Do you know? Ask yourself.**\n\n1) How much money do I have in total?\n\n2) How much did I spend this month and what did I spend it on?\n\n3) How much can I spend and still meet my financial goals?\n\nA money management app can help you answer these questions.\n\nIvy Wallet may lack some of the features you're looking for, but it truly shines in its user interface and experience, as well as its simplicity and customization options. This was recognized in the [\"Top/Best Android App in 2021/2022 charts\"](https://youtube.com/playlist?list=PLguJN0waG1-eSzKMuFMIULrR3MlqJ3cAE) by the YouTube tech community.\n\n\u003ca href='https://play.google.com/store/apps/details?id=com.ivy.wallet\u0026utm_source=github\u0026pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'\u003e\u003cimg alt='Get it on Google Play' src='https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png' width=\"323\" height=\"125\"/\u003e\u003c/a\u003e\n\n\u003e Join our **[private Telegram Community](https://t.me/+ETavgioAvWg4NThk)**.\n\n\u003e To support our free open source project, please give it a star. ⭐\n\u003e This means a lot to us. Thank you so much! [![GitHub Repo stars](https://img.shields.io/github/stars/Ivy-Apps/ivy-wallet?style=social)](https://github.com/Ivy-Apps/ivy-wallet/stargazers)\n\n## Project Requirements\n\n- Java 17+\n- The **latest stable** Android Studio (for easy install use [JetBrains Toolbox](https://www.jetbrains.com/toolbox-app/))\n\n### Initialize the project\n\n**1. Fork and clone the repo**\n\nInstructions in [CONTRIBUTING.md](./CONTRIBUTING.md).\n\n### Need help?\n\nJoin our Telegram community and drop a message in the \"Development\" topic.\n\n[![Telegram Group](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge\u0026logo=telegram\u0026logoColor=white)](https://t.me/+ETavgioAvWg4NThk)\n\n## Learning Materials\n\nIvy Wallet is a great place to code and learn. That's why we also link to great learning materials (books, articles, videos), check them out in **[docs/resources 📚](docs/resources/)**.\n\nMake sure to check out our short **[Developer Guidelines 🏗️](docs/Guidelines.md)** to learn more about the technical side of the Ivy Wallet.\n\n[![PRs welcome!](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Ivy-Apps/ivy-wallet/blob/main/CONTRIBUTING.md)\n\n## Tech Stack\n\n### Core\n\n- 100% [Kotlin](https://kotlinlang.org/)\n- 100% [Jetpack Compose](https://developer.android.com/jetpack/compose)\n- [Material3 design](https://m3.material.io/) (UI components)\n- [Kotlin Coroutines](https://kotlinlang.org/docs/coroutines-overview.html) (structured concurrency)\n- [Kotlin Flow](https://kotlinlang.org/docs/flow.html) (reactive data stream)\n- [Hilt](https://dagger.dev/hilt/) (DI)\n- [ArrowKt](https://arrow-kt.io/) (functional programming)\n\n\n### Testing\n- [JUnit4](https://github.com/junit-team/junit4) (test framework, compatible with Android)\n- [Kotest](https://kotest.io/) (unit test assertions)\n- [Paparazzi](https://github.com/cashapp/paparazzi) (screenshot testing)\n\n### Local Persistence\n- [DataStore](https://developer.android.com/topic/libraries/architecture/datastore) (key-value storage)\n- [Room DB](https://developer.android.com/training/data-storage/room) (SQLite ORM)\n\n### Networking\n- [Ktor client](https://ktor.io/docs/getting-started-ktor-client.html) (HTTP client)\n- [Kotlinx Serialization](https://github.com/Kotlin/kotlinx.serialization) (JSON serialization)\n\n### Build \u0026 CI\n- [Gradle KTS](https://docs.gradle.org/current/userguide/kotlin_dsl.html) (Kotlin DSL)\n- [Gradle convention plugins](https://docs.gradle.org/current/samples/sample_convention_plugins.html) (build logic)\n- [Gradle version catalogs](https://developer.android.com/build/migrate-to-catalogs) (dependencies versions)\n- [GitHub Actions](https://github.com/Ivy-Apps/ivy-wallet/actions) (CI/CD)\n- [Fastlane](https://fastlane.tools/) (uploads the app to the Google Play Store)\n\n### Other\n- [Firebase Crashlytics](https://firebase.google.com/products/crashlytics) (stability monitoring)\n- [Timber](https://github.com/JakeWharton/timber) (logging)\n- [Detekt](https://github.com/detekt/detekt) (linter)\n- [Ktlint](https://github.com/pinterest/ktlint) (linter)\n- [Slack's compose-lints](https://slackhq.github.io/compose-lints/) (linter)\n\n## Contribute\n\n**Want to contribute?** See **[CONTRIBUTING.md](/CONTRIBUTING.md)** [![Fork Ivy Wallet](https://img.shields.io/github/forks/Ivy-Apps/ivy-wallet?logo=github\u0026style=social)](https://github.com/Ivy-Apps/ivy-wallet/fork)\n\n### Contributors Wall:\n\n\u003ca href=\"https://github.com/ILIYANGERMANOV/ivy-wallet/graphs/contributors\"\u003e\n  \u003cimg alt=\"contributors graph\" src=\"https://contrib.rocks/image?repo=Ivy-Apps/ivy-wallet\" /\u003e\n\u003c/a\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\n_Note: It may take up to 24 hours for the [contrib.rocks](https://contrib.rocks/preview?repo=Ivy-Apps%2Fivy-wallet) plugin to update._ \n\n**P.S.** You'll also be recognized in a special \"Contributors\" section. We salute you! 👏\n\n## Creative Contributors\n\nFolks that helped Ivy Wallet in a non-dev creative ways that can't be captured on GitHub.\n\n### Creative Contributors Wall:\n\n\u003c!-- \u003cdiv align=\"center\"\u003e\n  \u003ca href=\"URL_TO_CONTRIBUTION\"\u003e\n    \u003cimg src=\"URL_TO_PERSONS_PHOTO\" width=\"100px;\" alt=\"PERSON'S PHOTO\"/\u003e\u003cbr\u003e\n    \u003cstrong\u003eUSERNAME\u003c/strong\u003e\u003cbr\u003e\n    \u003csmall\u003eMESSAGE_FOR_THEIR_CONTRIBUTION\u003c/small\u003e\n  \u003c/a\u003e\n\u003c/div\u003e --\u003e\n\n\u003cdiv style=\"text-align: center\"\u003e\n    \u003cimg src=\"https://avatars.githubusercontent.com/u/62771583?v=4\" width=\"100px;\" alt=\"Stefan Ilijev - Desinger\"/\u003e\u003cbr\u003e\n    \u003cstrong\u003eStefan Ilijev\u003c/strong\u003e\u003cbr\u003e\n    \u003csmall\u003eCo-founder and designer of Ivy Wallet. Created the \u003ca href=\"https://www.figma.com/file/kSwIa07jcHEHZXo6rzx7dn/Design-System?node-id=0%3A1\u0026mode=dev\"\u003eIvy design system\u003c/a\u003e.\u003c/small\u003e\n    \u003cbr/\u003e\n    \u003cbr/\u003e\n\u003c/div\u003e\n\n\u003cdiv style=\"text-align: center\"\u003e\n    \u003cimg src=\"https://avatars.githubusercontent.com/u/86833171?v=4\" width=\"100px;\" alt=\"Aditya [ADX]\"/\u003e\u003cbr\u003e\n    \u003cstrong\u003e\u003ca href=\"https://github.com/adx69\" \u003eAditya\u003c/a\u003e \u003c/strong\u003e\u003cbr\u003e\n    \u003cbr/\u003e\n\u003c/div\u003e\n\n\u003cdiv style=\"text-align: center\"\u003e\n    \u003cimg src=\"https://avatars.githubusercontent.com/u/130169485?v=4\" width=\"100px;\" alt=\"Shymom [SSI]\"/\u003e\u003cbr\u003e\n    \u003cstrong\u003e\u003ca href=\"https://github.com/SHYMOM\" \u003eShymom\u003c/a\u003e \u003c/strong\u003e\u003cbr\u003e\n    \u003cbr/\u003e\n\u003c/div\u003e\n\n\n## Community Projects\n\n\u003e ⚠️ Disclaimer: The community projects listed are independently developed and not affiliated with Ivy Apps Ltd. Consequently, we cannot vouch for their functionality, security or intentions. Your engagement with these projects is solely at your own discretion and risk. Ivy Apps Ltd explicitly disclaims any warranties, express or implied, and shall not be held liable for any damages or losses resulting from the use of these community-developed projects.\n\u003e \n### [ivy-wallet-web](https://github.com/pratikkabade/ivy-wallet-web) by [Pratik Kabade](https://github.com/pratikkabade)\n\nThis community-developed project allows users to conveniently access Ivy Wallet through their **web browsers**, ensuring a smooth experience across multiple platforms.\n- [GitHub URL](https://github.com/pratikkabade/ivy-wallet-web)\n- [Web app URL](https://ivy-wallet-web.vercel.app/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FIvy-Apps%2Fivy-wallet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FIvy-Apps%2Fivy-wallet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FIvy-Apps%2Fivy-wallet/lists"}