Income & Expense tracker - iOS App Source Code icon

Income & Expense tracker - iOS App Source Code

Income & Expense tracker - iOS App Source Code

Description

Money- income & expense tracker

Money is a basic income & expense tracker, a budget manager focused on simplicity. The app helps users record their daily transactions and review their financial data daily, weekly, and monthly. Adding transactions is extremely fast and fun because of the excellent animations.

The app is focused on privacy. It stores the data safely in Apple servers using iCloud and it offers secure access using technologies like Keychain, Face ID and Touch ID provided by the system (iOS/iPadOS). Unlike many other financial apps, the app doesn’t require account creation. The user “account” is the Apple ID that’s already signed into the device.

Key features

  • NEW: Export transactions to .CSV or .JSON.
  • NEW: Source code updated for iOS 15 and 16 (Swift UI 3.0).
  • Supports iOS 14 widgets: Financial Insights.
  • Supports iOS 13 Dark Mode.
  • Intuitive and easy to use interface.
  • Categorize transactions and mark them using hashtags.
  • Basic analytics.
  • Search transactions effectively by name, notes or hashtags.
  • System currency and regional settings support.
  • iCloud sync support.
  • Privacy-Focused.
  • Dynamic type accessibility support.
  • Screen lock (Keychain Passcode + Touch ID + Face ID).
  • App Icon shortcut’s.

Future features

Roadmap:

  • Better analytics and monthly reports (COMING SOON).
  • macOS and iPadOS support (WIP).
  • Receipt reader using CoreVision.
  • Add images, location, rich links and more to transactions for more detailed information.

Implementation details

  • Code: the app is 6 years old and is implemented in Swift. The IDE used is Xcode.
  • Architecture: follows a Reactive MVVM architecture where each screen has its own view model decoupled from the model and the view.
  • Database: initially, the data was stored locally using Realm but, since we wanted to enable iCloud synchronization, we decided to upgrade the whole app and use CoreData with CloudKit support.
  • Database model:
    • Category (has a name, icon and color)
    • Transaction (can only be assigned to one Category but can handle multiple Article’s and multiple Tag’s)
    • Article (i.e.: transaction X is a Amazon purchase, then the article is what was bought: SSD disk 512GB)
    • Tag (i.e.: #vacations2020)
  • Localization: includes English and Portuguese, and the project is prepared to receive other translations.
  • Interface: some parts of the UI is implemented using SwiftUI and others using Interface Builder.
  • Dependencies:
    • Swift Packages:
      • SwiftDate (used to manipulate the date interval for each filter, i.e., current week based on the device time zone)
      • STRegex (easy to use regular expression parser used in storing a custom date interval in the UserDefaults)
      • PremierKit (a bunch of reusable system helpers)
      • SwiftyAttributes (a convenience NSAttributedString helper)
      • Dodo (used to display error messages)
      • QuickActions (used to setup the app icon shortcut to create transactions)
      • WSLogger (used to log messages with level of severity, i.e., debug, info, warning, error)
      • WSPopup (used to show popups, flexible way to show a view to the screen)
  • Test suite: the project includes unit tests and integration tests of the business logic and core functionalities.

Stack

  • Swift 5.7
  • SwiftUI 3.0
  • Minimum deployment target is iOS 15
  • iCloud
  • CoreData
  • Keychain
  • Widgets
  • Siri Intent Extension

Requirements

  • Apple Developer account.
  • SwiftGen v6.0 or greater.
  • Xcode 14+
  • iOS 15+

Getting Started

  1. Rename your.domain.Money to use your domain. (i.e.: com.razybits.Money):
  • Money.xcodeproj/project.pbxproj
  • Money/CloudKit/CloudKit.swift
  • Money/Constants.swift
  • Money/Info.plist
  • Money/Money.entitlements
  • MoneyIntentExtension/MoneyIntentExtension.entitlements
  • MoneyWidgets/MoneyWidgetsExtension.entitlements
  • Money/Screen Lock/SecurePasscodeStore.swift
  • Install SwiftGen and run swiftgen.
  • Open the Money.xcodeproj file.
  • Set up Apple Developer account, change signing and entitlements based on your preferences.
  • We are always available to help you setting up the project. Please contact us if you are having trouble running the app in the simulator or on your iPhone.

    Project structure

    Root:

    
    Money
    Money.xcodeproj
    Money.xcworkspace
    MoneyIntentExtension
    MoneyTests
    MoneyUITests
    MoneyWidgets
    MoneyWidgetsExtension.entitlements
    Resources
    swiftgen.yml
    
    

    Source code at Money:

    
    AppDelegate.swift
    AppCoordinator.swift
    AppLogger.swift
    AppVersionStatus.swift
    Constants.swift
    Features.swift
    Assets.xcassets
    Colors.xcassets
    MainViewController.swift
    MainViewController.xib
    Onboarding
    Timeline
    Categories
    Transactions
    Create Transaction
    Screen Lock
    Search
    Settings
    Statistics
    User
    Styles
    Dialogs
    Models
    ViewModels
    Views
    Cells
    CloudKit
    CoreData
    SwiftUI
    Utilities
    Info.plist
    Money-Bridging-Header.h
    Money.entitlements
    LaunchScreen.storyboard
    en.lproj
    pt-PT.lproj
    
    

    Live version

    The app is available in the App Store. If you want to test the app before buying, then please request us a promo code.

    Documentation

    You can see the general information of this project at money/wiki.

    The full documentation is available at money/docs.

    Acknowledgements

    Before purchasing

    Please check the documentation before purchasing. Be aware that this app requires knowledge on Apple specific technologies. We can provide you some guidance but we won’t accept feature or enhancement requests.

    Troubleshoot

    Contact us if you find issues with the setup. The app has been fully tested several times but it may have bugs. If a crash occurs, we are happy to help you solve the issue. Just contact us.

External listing. code.market does not sell this product and does not process payment for it. Pricing, payment, delivery, licensing, refunds, and support are handled by the third-party merchant on its own website. We may earn an affiliate commission from a referral. Details.

Products of the Week.

Submit
codester.com

codester.com

SocialDesk+: Omnichannel Social Commerce & Business Management Platform This is stronger than simply “Social Commerce and Messaging” because it tells buyers this is a complete business platform, not just a messaging script. Turn Social Conversations Into Sales SocialDesk+ is a complete omnichannel social commerce and business management platform built for businesses that sell and communicate with customers through social media. Instead of switching between WhatsApp, Facebook, Instagram and TikTok, businesses can manage customer conversations, comments, products, leads, follow-ups, automation, teams and business reports from one professional workspace. And because the full source code is included, developers, agencies and entrepreneurs can customize, rebrand and launch SocialDesk+ as their own business solution or SaaS platform. 🚀 Build Your Own Social Commerce Business SocialDesk+ gives you the foundation to launch: - Your own SaaS platform - A white-label social CRM - A social-commerce management system - A customer communication platform - A business messaging solution - A custom solution for clients - A multi-business subscription platform 💬 Connect Your Customers Supported social channels include: WhatsApp • Facebook • Instagram • TikTok Bring supported conversations into one centralized workspace and help businesses respond faster without constantly switching between platforms. 🛍️ More Than a Messaging Platform SocialDesk+ combines communication with the tools businesses need to manage customer opportunities: Inbox Manage customer conversations from connected channels. Comments Monitor and respond to social-media comments. Customers & Leads Organize customer information and potential buyers. Products & Catalog Manage products and give your team quick access to product information. Follow-Ups Make sure potential customers don't get forgotten. Automation Automate repetitive customer questions and responses. AI Assistant Provide AI-assisted communication when configured. Team Management Give managers and staff access to the business workspace. Reports & Analytics Track activity using business reports and analytics. The current product listing already includes these capabilities. 🔥 Why Buyers Will Want It Launch Faster Start with an already-built business platform instead of developing the entire system from zero. Customize Everything The full source code is included, allowing developers to change branding, features, workflows and integrations. Build a SaaS Create multiple business workspaces and offer SocialDesk+ as a subscription-based service. Sell to Businesses Offer it to retailers, restaurants, service businesses, online sellers, agencies and other businesses that communicate with customers through social media. Mobile + Web + Backend This isn't just a mobile UI template. It includes: - Flutter mobile application - Python / FastAPI backend - Web interface - Administration tools - Database infrastructure - API-based architecture - SQLite / PostgreSQL support - Android and iOS project structure 💼 One Platform. Multiple Business Opportunities. For SaaS Entrepreneurs Launch your own subscription platform and allow multiple businesses to operate inside separate workspaces. For Software Agencies Customize and rebrand the platform for clients instead of building an omnichannel business system from scratch. For Developers Use the complete source code as a foundation for your own social-commerce or customer-management product. For Businesses Deploy a dedicated version for your own customer-service and social-commerce operations. 🧩 What's Included Mobile - Flutter / Dart - Android - iOS project Backend - Python - FastAPI - SQLAlchemy - Alembic Database - SQLite - PostgreSQL Web - HTML5 - CSS3 - JavaScript Deployment - Docker - Docker Compose - Production configuration Business Platform - Multi-workspace architecture - Authentication - Teams - Customers - Products - Messaging - Comments - Automation - Reports - Subscriptions - Administration The current listing also documents third-party integrations such as Meta, TikTok, Stripe, Firebase, SMTP and optional OpenAI configuration. ⚡ What Makes SocialDesk+ Different? You're not buying a simple: ❌ Chat UI ❌ WhatsApp clone ❌ Flutter template ❌ Admin dashboard ❌ Basic CRM You're getting a complete business platform foundation that can be customized, branded and commercialized. Connect. Automate. Manage. Grow. SocialDesk+ Omnichannel Social Commerce & Business Management Platform One important change I'd make to the current listing The current page starts with: “A simple guide to managing your social conversations, customers, products and business activity.”

Other · 3,905 views · 32 clicks

$2

Income & Expense tracker - iOS App Source Code | Code Market