Skip to content

Latest commit

 

History

81 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

XpenseTracker home XpenseTracker new movement XpenseTracker graph


XpenseTracker

A clean UIKit expense tracker with Firebase auth, Firestore and interactive charts.

UIKit  ·  Firebase Auth  ·  Cloud Firestore  ·  Interactive Charts

iOS Swift UIKit Firebase Google Sign-In


What is XpenseTracker

XpenseTracker (SpendR) is a personal-finance iOS app to record expenses and income, organise them with custom tags, and visualise spending patterns over time. It's a portfolio project focused on showing UIKit fluency, Firebase backend integration and clean MVVM separation.

Built with UIKit screens, Firebase Authentication (email/password + Google Sign-In) and Cloud Firestore for persistence. Dependencies are managed with CocoaPods.


Features

Track Record expenses and income with amount, category, description and date. Mark each as income or expense.
Organise Custom tags per movement for flexible categorisation. Tag manager in the user page.
Visualise Interactive charts of spending trends and category breakdowns.
Filter Sortable, filterable history table with real-time balance updates.
Auth Email + password sign-up/login backed by Firebase Auth. Google Sign-In for one-tap onboarding.
Profile Edit personal details, preferred currency, and tag library from the user page.

Screens

Screen What it does
Home Personalised welcome, dynamic balance, "Add Movement" CTA, sortable history
New Movement Capture amount, category, description, tags and income/expense flag
Movement Detail Full transaction info with single-tap delete
User Page Profile editor, currency selector, tag management
Graph Interactive chart of spending trends and category mix
Login / Sign-Up Firebase email + password or Google Sign-In

Architecture

SpendR/                           CocoaPods workspace
  Podfile                         CocoaPods dependency manifest
  SpendR.xcworkspace              Open this (not the .xcodeproj)
  SpendR/                         Main app target
    AppComponents/                AppDelegate / SceneDelegate
    Controllers/
      LoggedInViews/              Home, Graph, UserPage view controllers
      LoggedOutViews/             Login / SignUp view controllers
    Models/                       Movement, Tag, User
    Utils/                        FirebaseOperations and helpers
    Extensions/                   UIKit conveniences
  Pods/                           Resolved CocoaPods (gitignored in real life)

Quick Start

Requirements: Xcode 14+ · iOS 15+ · CocoaPods · Firebase project (Auth + Cloud Firestore enabled)

git clone https://github.com/jlcl11/XpenseTracker.git
cd XpenseTracker/SpendR
pod install
open SpendR.xcworkspace

Drop your GoogleService-Info.plist into the project (Firebase console → iOS app), enable Email/Password + Google Sign-In providers, then build and run.


Tech Stack

Technology Role
UIKit Core view layer — controllers, storyboards, programmatic constraints
Firebase Auth Email + Google Sign-In authentication
Cloud Firestore Cloud-stored documents for movements, tags and user profile
Charts Interactive chart rendering for spending trends
SymbolPicker Symbol picker for tag and category icons
CocoaPods Dependency management

Built by Jose Luis Corral Lopez · Portfolio sample showing UIKit + Firebase

About

A simple UIKIt based Xpense tracker made for my portfolio

Topics

Resources

Stars

7 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages