Application for tracking income and expenses and analyzing expenses. VIPER architecture, CoreData, Charts

? MoneySafe ?

Application for tracking income and expenses and analyzing expenses

About project ⚠️

This pet-project aims to help control expenses by setting the necessary budgets for categories.

In order to achieve maximum efficiency, it is necessary that the process of entering transactions into the application becomes a habit.

Minimalistic style, and intuitive interface help you quickly get used to and make all transactions in the application in a short time

Main block

There are two buttons on the main screen for quickly adding income or expense. The user will perform these operations frequently, so the buttons are hard to miss.

Also, from this screen we can go to one of the main modules

  • Analytics
  • All transactions
  • Settings

Analytics block ?

On this screen, we can see a brief summary of our transactions, see how our income or expenses are distributed, and you can also see how much we spent from the total planned budget for the month.

Charts and progress bar were used to display statistics

source: Charts ?

All transactions block ?

This screen displays all our transactions, the color separation will help to intuitively distinguish income from expenses, all data is sorted and displayed as follows:

  1. Today transactions
  2. Yesterday transactions
  3. In month transactions
  4. Other transactions

After tap on selected transaction will present detail VC, where user can delete transaction or change some information

Settings block ?

In this block, the user can change his wallets or create new ones, also here you can change the selected categories of income and expenses, and set new budgets

Project Structure ?

Built With ?

  • Swift language
  • Foundation
  • UIKit
  • CoreData
  • VIPER Architecture
  • Auto Layout
  • GCD
  • CocoaPods
  • Only programmaticaly (without storyBoard)
  • Navigation and routing without segue
  • Charts
  • MultiProgressView

Getting started ?

The project does not require additional settings to run ✔️

Presentation ?

Presentation video -> On YouTube ?

Screenshots:

GitHub

View Github