Skip to content

πŸ“± A mobile-first Expense Tracker built with Angular & Tailwind CSS, featuring dashboards, calendar, budget tracking, and LocalStorage-based data management

Notifications You must be signed in to change notification settings

devnamdev2003/angular-expense-tracker

Repository files navigation

Expense Wisely – Where Your Money Stops Playing Hide and Seek!

πŸ“Œ Overview

Expense Tracker is a mobile-first financial management application designed to help users easily track their daily and monthly expenses. The application emphasizes a user-friendly UI/UX tailored specifically for smartphones, allowing seamless personal finance management on the go.

This application leverages Angular as the frontend framework and Tailwind CSS for responsive and modern UI styling. All user data is stored in LocalStorage, making the app lightweight and independent of backend dependencies.


⬇️ Download APK | 🌐 Live Demo | πŸ”— GitHub | πŸ“„ Code Documentation


🧰 Tech Stack

Technology Purpose
Angular Frontend application logic
Tailwind CSS Styling and responsive UI
LocalStorage Persistent data storage
Spring Boot Backend api logic

πŸ“± Features & Functionality

1. Dashboard View

  • Upon launch, users are greeted with two interactive graphs:
    • Expense Graph:
      • Displays a line graph representing user expenses over time.
      • Supports multiple time-based views:
        • Daily – View expenses for individual days.
        • Monthly – View month-wise expense distribution.
        • Yearly – View yearly expense trends.
      • Includes a graph representation toggle:
        • Discrete (discrete values) – Shows period-wise expense values.
        • Cumulative – Shows a running total of expenses over time, useful for understanding overall spending growth.
      • Graph updates dynamically based on the selected time range and graph mode.
    • Category-wise Pie Chart: Visualizes how the expenses are distributed across different categories (e.g., Food, Travel, Shopping).

2. Add Expense View

Allows users to add new expense entries through a form. Input fields include:

  • πŸ’° Amount
  • πŸ“… Date & Time
  • 🏷️ Category (chosen from a dropdown list)
  • πŸ’³ Payment Mode
  • πŸ“ Location (chosen from a dropdown list or manually typed)
  • πŸ“ Note (chosen from a dropdown list or manually typed)
  • πŸ’‘ Extra Spending

All expenses are stored in the device's LocalStorage and reflected immediately in graphs and listings.


3. Calendar View

  • Users can view a monthly calendar to explore expenses on specific dates.
  • Tap any date to open a popup modal displaying all expenses for that day.
  • Navigate across months and years to view past or future expenses.
  • Toggle the Show HeatMap switch to highlight each day based on spending intensity.
    • Days are color-coded based on spending thresholds (e.g. No expense, < threshold, between thresholds, > threshold) for quick insights.
    • Users can now customize the threshold amounts for each heatmap color:
      • Red (Rose) – default > β‚Ή1000
      • Yellow (Amber) – default β‚Ή500 - 1000
      • Green (Emerald) – default < β‚Ή500
    • A summary table displays each color, the number of days, the total expense, and an Edit button for updating the thresholds.
      • Editing allows users to set a new amount for the corresponding color, immediately updating the heatmap visualization.
    • Additionally, users can enable a radio option to automatically set threshold values based on their budget, where
      • Rose represents the average spent per day amount.
      • Emerald represents the suggested spending per day amount.

4. List View

  • Displays all user expenses in a scrollable, and sortable list.

  • Users can:

    • πŸ” Search expenses quickly by typing keywords (category, note, or payment mode).
    • 🧾 Sort expenses by date, amount, or category.
    • 🎯 Filter by category, date, extra spending, and payment mode.
    • πŸ–±οΈ Tap any entry to open a modal with complete details and options to edit or delete the expense.

5. Budget & Salary Management

The Budget & Salary module provides a sophisticated financial dashboard that transitions between total income tracking and granular monthly budgeting.

Key capabilities include:

  • πŸ’Ό Dynamic Financial Modes

    • Salary Tracking: Tracks total accumulated income and overall savings rates.
    • Budget Tracking: Focuses on a specific month's limits to prevent overspending.
    • The system intelligently calculates metrics based on the active viewMode.
  • πŸ“Š Advanced Financial Analytics

    • Salary Growth: Automatically calculates the percentage increase or decrease in income compared to the previous month.
    • Savings Rate: Real-time calculation of the percentage of income retained after expenses:
  • Daily Spending Intelligence:

    • Allowed/Day: Your theoretical daily limit based on the total budget and days in the month.
    • Spent/Day: Actual average spending calculated from the day of your first expense to today.
    • Suggested/Day: A dynamic "correction" metric that tells you exactly how much you can spend for the remaining days to stay on target.
  • 🎨 Visual Feedback & Progress

    • Smart Progress Bar: A multi-state indicator that shifts colors based on your spending velocity:
      • 🟒 Green to Indigo: (Below 50%) - Safe zone.
      • 🟠 Orange: (50% - 90%) - Warning zone.
      • πŸ”΄ Red: (Above 90%) - Critical limit/Exceeded.
    • Contextual Status: Text insights (e.g., "Excellent! Saving > 50%" or "⚠️ You have exceeded your limit!").
  • πŸ› οΈ Transaction Management

    • Full CRUD Operations: Add, edit, and delete salary/budget records.
    • Validation Layer: Integrated error handling for amounts (max limit ), required notes, and month selection.

6. Settings View

Provides customization and utility options for better personalization:

  • 🎨 Theme Mode Toggle β€” Switch between Dark and Light modes
  • ⬇️ Download Data β€” Export expenses in PDF, JSON, or Excel formats within a selected date range. Users can also choose All Data to export every expense record
  • πŸ“€ Import Data β€” Upload and import expense data into the application
  • πŸ”„ Update App β€” Update the application to the latest available version
  • ☁️ Data Backup β€” Enable automatic or manual data backup for data safety. When enabled, a backend API runs automatically in the background to upload your data to the database.
  • βž• Add Category β€” Create custom categories for better expense organization
  • ✏️ Edit Category β€” Update or rename existing categories
  • ❌ Delete Category β€” Remove unused or incorrect categories

πŸ“± Mobile-First Design

  • The application is specifically designed for mobile devices.
  • Features responsive components, intuitive touch controls, and visually appealing UI optimized for small screens.
  • Not intended for laptop or desktop usage (though it works as PWA).

πŸ—ƒοΈ Data Storage

All user data is stored using the browser’s LocalStorage API, ensuring:

  • βœ… No need for a backend or server
  • ⚑ Fast read/write operations
  • πŸ”’ Data stays on the user's device for privacy and control

πŸ“ˆ User Flow Summary

  1. Launch App β†’ View Expense Graphs (Toggle between Month/Day).

  2. Add Expenses via the βž• tab.

  3. Navigate to:

    • Calendar to view per-date expenses.
    • List for detailed log with search, filter, and sort options.
    • Budget to monitor spending.
    • Settings for customization.

πŸ“„ Code Documentation

For developers and contributors, detailed code-level documentation is available here: πŸ‘‰ Documentation


πŸ–ΌοΈ Screenshots

home add calendar settings budget list

About

πŸ“± A mobile-first Expense Tracker built with Angular & Tailwind CSS, featuring dashboards, calendar, budget tracking, and LocalStorage-based data management

Topics

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published