Money banner

Money

40 devlogs
75h 49m 54s

Simple iOS app that tracks money and spending. purposely simple and fast, even while syncing with cloud.

Demo Repository

Loading README...

Adon Omeri

Shipped this project!

Hours: 75.83
Cookies: 🍪 0
Multiplier: 8.13 cookies/hr

In this ship I added goals to track achievements and stuff, and a section to show whats new in this release, and in past releases. I also added animated background to apple watch, and an onboarding view. adding transaction and goal intents were added to siri and the shortcuts app too.

Adon Omeri

I’ve added goals this time, along with their server implementations. This includes a new (hideable) tab for goals, and the detail view triggers confetti and a colourful background when completed. I havent finished this feature yet as i still need to add filtering and sorting for goals and archiving, but i think it looks nice so far.

Attachment
Attachment
Attachment
Attachment
Attachment
0
Adon Omeri

This one is large cos I had to deal with an extremely annoying bug with Xcode that meant I couldn’t build or run the app because of some Info.plist shenanigans. Anyway, once that was fixed, I added app info in settings, and a view that shows past releases and what they included. I’m most happy with the font picker and other menus, as they now use the correct font. this required using a private api that apple hid for no reason and needed uikit. annoying but its worth it, the font picker actually shows the fonts!

Attachment
Attachment
Attachment
0
Adon Omeri

What I’ve added:

What’s New - Every new release has a what’s new page.
Font Style - You can now set the font style for iPhone and Apple Watch.
Sheet Animations — Sheets now pop out of their buttons.
Tab Memory - Your last opened tab is now remembered across app launches. Changeable in settings.
Upgraded Infrastructure - Including more secure account management, will require a re-sign in.
Widget Refinements - Adjusted widgets to work better in all contexts.
Other UI Stuff - like the save changes button in account settings

this list is formatted nicely funnily enough because I added a whats new page in it, so i already have to make a whats new list haha

Attachment
Attachment
Attachment
0
Adon Omeri

watchOS now has syncing with iphone app!
this includes the new animated background, font style, and showing goals tab or not.

Attachment
Attachment
0
Adon Omeri

I added goal tracking, with their widgets.

i also adjusted settings to include appearance, tabs, account, and dagner zone sections, with a new option for which font style to use.

the goal setting and font and other things all need a bit of refinement but I’m happy they and their server part exist now

Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
0
Adon Omeri

I’ve added an onboarding view which looks nice, it doesnt have anything right now but i should add some things soon like eatures and stuff.

Attachment
Attachment
Attachment
0
Adon Omeri

I added this widget as well, It was relatively simpler because I basically just needed to copy the code from iphone and adjust a few things.

Attachment
0
Adon Omeri

I made alot of adjustments on the simple widget and also added a new chart widget, it is only three components but was much harder than i thought because the widget was trying to apply its own margin and i didnt like them, and spent a very long time fighting it. i think they look good, I’m gonna add the recent transactions now.

Attachment
0
Adon Omeri

Shipped this project!

Hours: 11.77
Cookies: 🍪 224
Multiplier: 19.02 cookies/hr

In this update I added 3 widget sets for iOS and all the watchOS widgets too. I also updated the transaction types to be a bit more natural although they probably need more refinements again.
I also fixed a few logic bugs with sync between apple watch and iphone, and added a toggle to show or hide the analyse tab.

Adon Omeri

I added another widget set, and also updated the transaction types to be more comfortable

This widget set is a graph of your balance, and it conditionally shows the x and y axis labels depending on widget size if it can fit it, which i like.

The transaction types will very likely change in the future again because I don’t think they are very good now either to be honest

Attachment
Attachment
0
Adon Omeri

I added another set of widgets, its a list of your recent transactions. I ran into a problem with not being able to access the current widget background so I couldn’t make it react nicely to the theme, I sent Apple a code help request and should fix that problem soon. Apple’s own widgets don’t seem to be reacting nicely so I’m a bit concerned on whether there even is a solution

Attachment
Attachment
0
Adon Omeri

I added widgets for apple watch and iphone. they are simple but the reason it took so long is that i had a problem with the app groups, which is the entitlement that allows my widget to get the information from the main app, and I couldn’t get Xcode to register the right one because it was getting very picky about the id of the app and the widget and the apple watch id and the apple watch widget. anyway i fixed it and the widgets look very nice I’m quite happy with them

Attachment
Attachment
Attachment
Attachment
Attachment
0
Adon Omeri

One case I forgot while I was rewriting the apple watch sync was when the apple watch app was installed after the iphone app already setup, and therefore didn’t send the token to the watch. i just added a function to call refresh whenever they are both connected to overcome this and added better wording in the watch ui when they are not signed in

Attachment
0
Adon Omeri

I added this toggle to show or hide the analyse view because some people might not like it, reasonably. i cant animate it because it uses a system provided tabview but oh well

Attachment
0
Adon Omeri

I rewrote the transaction repository (the thing that manages the on-device cache of the data) to fix a bug where when updating the local database from the server, it would only insert entries not delete entries, because it checked if the uuid matched before updating the local item.
I also fixed a bug that makes the watchOS add transaction button bug out while transition to the not signed in view, which i fixed by replacing the .blurReplace transition with an .opacity type.
I also adjsuted the animated background speed whether or not you were in a deficit.

Attachment
Attachment
0
Adon Omeri

Shipped this project!

Hours: 45.55
Cookies: 🍪 1071
Multiplier: 23.51 cookies/hr

I built this app because I was looking for an app that can track your money, but didn’t find any nice looking and easy to use ones. So I made this app, with a focus on nice design and simplicity.

Adon Omeri

To finish off the Analyse view, I added this page that just shows your stats in a card layout, with glass effects.

Attachment
0
Adon Omeri

I added this weird cube function that eases the gradient in and out, and it looks so much better, cant really tell with the screenshot though

Attachment
Attachment
0
Adon Omeri

I moved the transactions list into its own tab with a .search role, because it is just a searchable list so that makes more semantic sense i think. and because SwiftUI seems to remove the toolbarItems and therefore the default scroll edge effect when you are searching, I added my own that only shows when the keyboard is active

Attachment
Attachment
Attachment
0
Adon Omeri

More ui adjustments

  • Removed nav title
  • swapper toolbar buttons
  • Better wording for toggle
  • Monospace font for toggle
Attachment
Attachment
0
Adon Omeri

I added a really nice gradient to the home screen and refined its values, and added a toggle in settings to enable or disable it. unfortunately this library is not available on apple watch because watchOS doesn’t support the metal this package requires, so that always uses the old version which is just a gradient

Attachment
Attachment
0
Adon Omeri

I removed the glass background that was visible before, but now there are a few legibility issues. should be ok in most situations though.

Attachment
Attachment
0
Adon Omeri

I added some colours to the thing but i will definitely adjust them over time, because they are quite bright and probably annoying for some people. the old red or black might be better for other people, so ill add an option for toggling that soon.

Attachment
Attachment
0
Adon Omeri

As the video shows I added some animations and transitions to the header of the chart, and fixed the rulemark to be behind the lines, and grey, instead of being yellow and thinner than the actual line. the header now uses .numericText() content transitions to very smoothly show the information whether or not you are selecting. the graph animating between pickers is only buggy because my phone is old, it isn’t laggy normally.

0
Adon Omeri

I refactored the watch syncing process, because i had a bug where i can sign in and out on iPhone and that would reflect in the ui of the watch instantly, but it still uses an old token to fetch stuff and so it gets into the problem of falling out of sync with the iPhone and throwing unauthorised errors whenever i do something, and silent fails, etc

Attachment
0
Adon Omeri

I added stuff to the readme, like platforms, screenshots, how to build, the tech stack, and a link to the server that is running it

Attachment
0
Adon Omeri

I redid the analyse view, because it was a bit badly designed before. I added a better legend at the bottom, which, when hovered, also dimmed the non selected values for clarity. the middle annotations have been better worded, and total transactions counts in and out, so i needed to make that clear because it was confusing before. i also increased the corner radius to look better, and refined the contentTransitions.

Attachment
Attachment
Attachment
0
Adon Omeri

I updated the front end and backend to allow for changing user account information, in preparation for the App Store Review and also because thats reasonable. I might add a Sign in with Apple button later.

Attachment
Attachment
0
Adon Omeri

I added more transaction types because I just realised all my old ones were just negative, so now depending on if your transaction is positive or negative it shows different options for the transaction types. the other two screenshots show my first first migration, because i needed to rename one of the existing enum cases, and that failed because i was trying to convert a native postgres enum when i was just using swift codable to store them as strings

Attachment
Attachment
Attachment
Attachment
0
Adon Omeri

made the graph view more refined with the visual style and with selection

Attachment
Attachment
Attachment
0
Adon Omeri

i refined the charts, and added transitions and hover selection. i will add more charts later probably

Attachment
Attachment
Attachment
Attachment
0
Adon Omeri

I added sideways support for iphone, and an ipad and a mac target, which is built for ipad, and an alnalysis tab that i will add more things to, such as a pie chart of all expenditure from the categories i have

Attachment
Attachment
Attachment
Attachment
0
Adon Omeri

added haptics when the tab changes

Attachment
Attachment
0
Adon Omeri

i added the watch app, which is completely independent of iPhone except for the user login token, because login and signup and account settings shouldnt be on the watch. this is so that it doesnt need to be near its iphone to pull data from it, but directly from the server.

Attachment
Attachment
Attachment
Attachment
Attachment
0
Adon Omeri

added watch app, and going to start developing that

Attachment
0
Adon Omeri

added delete account, and in the process also fixed signup and log in functionality because they were also returning mismatching types and showing an error even when it was successful

Attachment
0
Adon Omeri

refactored it because it was starting to get quite messy and i was duplicating database and networking logic which was really bad and crashed it every time a switched tabs after changing items, etc

Attachment
1

Comments

developergirishgiri
developergirishgiri about 2 months ago

bro nice plz give me vote also

Adon Omeri

alot of bug fixes for the server and the client, from json decoding problems to mismatched types and other weird stuff.

i also finished teh listview, along iwth its detailview to patch them. i havent added deleting yet.

and on the home screen i made the background red when in the negatives

Attachment
Attachment
Attachment
0
Adon Omeri

i refined the ui, mainly on teh homeview toolbar items and the add transactiondetailview, i think it looks better now and since i couldnt tint the picker options i tinted the price field.

Attachment
Attachment
0
Adon Omeri

i made the screens below, obviously theres more to come, and fixed quite a few server bugs and added some routes. i am taking extra time to make sure the code is clean and has animations everywhere, along with forcing liquid to behave as it should. the add transaction page might change quite a bit because i still dont like some sizing and spacing there.

Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
0
Adon Omeri

ok i set up all the server routes for users and transactions and tokens and stuff, and i initialised everything on github and also setup the xcode app, below is the home screen i spent too much time adjusting the padding on

Attachment
Attachment
Attachment
0
Adon Omeri

Read the docs for vapor, the backend I’ll be using, and initialised the database and frontend app.

Attachment
0