Expense Counter

|

Download on the App Store

Introduction

Expense Counter allows users to keep track of their expenses.

Expenses can be organized into categories and summarized by month.

Categories can also be customized.

Features

Expenses summary

Summarize monthly expenses by category

Manage categories

Create your own categories or choose the defaults

Manage expenses

Manage all your expenses for the month, including deleting or modifying them.

Add expense

Add an expense to a category

Add category

Create a custom category to fit your need

Tech stack

SwiftUI

The app’s frontend was built using SwiftUI, with a minimum target iOS version of 16.4

Core Data

The app’s data is stored locally using the best integrated database for native iOS development

Architecture Design

UML class diagram

CoreData diagram

Challenges

I had some trouble designing the app’s architecture. This was likely because I’m not super familiar with SwiftUI data flow yet at that time, especially how data should flow from one view to another.

I took a step back from building the app and focused on redesigning how data flows between different views.

As a result, I was able to fix the data flow problem and gained a clearer understanding of what data should be displayed on each screen.

Lessons learned

  • Learned the fundamentals of iOS development, SwiftUI, and Core Data.
  • Write or create a clear scope, data model, data flow diagram, and screen designs for the app before building it. This helps avoid any rework during execution.