Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ’ฐ Personal Expense Tracker

A beautiful, modern expense tracker with multi-currency support. Track your spending across any currency with a sleek, intuitive interface.

โœจ Features

  • ๐Ÿ’ฑ Multi-Currency Support - Track expenses in 12+ currencies with automatic conversion
  • ๐Ÿ’ต Monthly Budget Tracking - Set your budget and visualize spending against it with progress bars and status indicators
  • ๐Ÿ“Š Smart Analytics - See total spending, expense count, and average expense
  • ๐Ÿ“ˆ Budget Variations - View current month vs. all-time expenses and get status alerts (within budget, approaching limit, over budget)
  • ๐Ÿท๏ธ Smart Categories - 9 professional categories (Food & Dining, Transportation, Entertainment, Shopping, Utilities, Health & Medical, Housing, Education, Other)
  • ๐Ÿ” Easy Filtering - Filter expenses by category instantly
  • ๐Ÿ’พ Export & Import - Backup and restore your expense data as JSON
  • ๐Ÿ“ฑ Fully Responsive - Works perfectly on desktop, tablet, and mobile
  • ๐ŸŽจ Beautiful Design - Modern UI with smooth animations and glassmorphism effects
  • ๐Ÿ”’ Private - All data stored locally, never sent anywhere
  • โšก Zero Dependencies - Pure HTML, CSS, and JavaScript

๐Ÿš€ Quick Start

Option 1: Open in Browser (Easiest)

# Just open index.html in your browser!

Option 2: Local Server

# Python (Mac/Linux)
python -m http.server 8000

# Node.js
npm install
npm start

# Then visit: http://localhost:8000

๐Ÿ“– How to Use

Setting Your Monthly Budget

  1. Click the "Edit" button in the Budget section
  2. Enter your monthly budget amount (e.g., $2000)
  3. Click "Save Budget"
  4. Your budget is now tracked with a visual progress bar

The budget displays:

  • Budget Limit - Your total monthly budget
  • Spent So Far - How much you've spent this month
  • Remaining - How much money you have left
  • Progress Bar - Visual representation of spending
  • Status Indicator - Shows if you're within budget, approaching limit, or over budget

Budget Status Colors:

  • ๐ŸŸข Green - Within Budget (0-50% spent)
  • ๐ŸŸก Yellow - Approaching Limit (50-80% spent)
  • ๐Ÿ”ด Red - Over Budget (100%+ spent)

Switching Between Current Month & All-Time

Use the dropdown in the Budget section to toggle between:

  • Current Month - Only expenses from this month
  • All Time - All your expenses ever

Adding an Expense

  1. Enter Description - What did you spend on?
  2. Enter Amount - How much did you spend?
  3. Select Category - Choose a category
  4. Select Date - When did you spend it?
  5. Click "Add Expense"

Managing Expenses

  • Change Currency - Use the dropdown in header to view all expenses in a different currency
  • Filter - Select a category to see only expenses in that category
  • Delete - Click "Delete" button next to any expense
  • Export - Click "๐Ÿ“ฅ Export" to download all expenses as JSON
  • Import - Click "๐Ÿ“ค Import" to restore expenses from a backup file
  • Clear All - Delete all expenses (with confirmation)

๐ŸŒ Supported Currencies

Code Currency Flag
USD US Dollar ๐Ÿ‡บ๐Ÿ‡ธ
EUR Euro ๐Ÿ‡ช๐Ÿ‡บ
GBP British Pound ๐Ÿ‡ฌ๐Ÿ‡ง
JPY Japanese Yen ๐Ÿ‡ฏ๐Ÿ‡ต
INR Indian Rupee ๐Ÿ‡ฎ๐Ÿ‡ณ
AUD Australian Dollar ๐Ÿ‡ฆ๐Ÿ‡บ
CAD Canadian Dollar ๐Ÿ‡จ๐Ÿ‡ฆ
CHF Swiss Franc ๐Ÿ‡จ๐Ÿ‡ญ
CNY Chinese Yuan ๐Ÿ‡จ๐Ÿ‡ณ
SGD Singapore Dollar ๐Ÿ‡ธ๐Ÿ‡ฌ
MXN Mexican Peso ๐Ÿ‡ฒ๐Ÿ‡ฝ
BRL Brazilian Real ๐Ÿ‡ง๐Ÿ‡ท

๐Ÿ› ๏ธ Technical Details

Tech Stack

  • HTML5 - Semantic markup
  • CSS3 - Modern responsive design with gradients and animations
  • Vanilla JavaScript - No frameworks, no dependencies
  • localStorage API - Persistent data storage

Browser Support

  • Chrome 90+
  • Firefox 88+
  • Safari 14+
  • Edge 90+
  • Mobile browsers (iOS Safari, Chrome Mobile)

File Structure

โ”œโ”€โ”€ index.html      - HTML structure
โ”œโ”€โ”€ styles.css      - Modern styling
โ”œโ”€โ”€ script.js       - Application logic
โ”œโ”€โ”€ config.js       - Configuration & currencies
โ”œโ”€โ”€ package.json    - NPM metadata
โ””โ”€โ”€ README.md       - This file

๐Ÿ’พ Data Storage

All your expenses are stored in your browser's localStorage. This means:

  • โœ… Data persists even after closing the browser
  • โœ… All data stays on your device (100% private)
  • โœ… No internet required to use the app
  • โœ… No servers, no tracking, no data collection

To backup: Click "๐Ÿ“ฅ Export" to download your data

To restore: Click "๐Ÿ“ค Import" to load from a backup file

๐Ÿ”ง Customization

Add a New Currency

Edit config.js:

CURRENCIES: {
    // ... existing currencies
    AED: { symbol: 'ุฏ.ุฅ', name: 'UAE Dirham', flag: '๐Ÿ‡ฆ๐Ÿ‡ช' },
}

Then add exchange rate:

EXCHANGE_RATES: {
    // ... existing rates
    AED: 3.67,
}

Update Exchange Rates

Edit config.js and update the EXCHANGE_RATES object with current rates.

EXCHANGE_RATES = {
    USD: 1.0,
    EUR: 0.92,
    GBP: 0.79,
    // ... update as needed
}

Add More Categories

Edit config.js:

CATEGORIES: [
    // ... existing
    { name: 'Travel', emoji: 'โœˆ๏ธ' },
    { name: 'Books', emoji: '๐Ÿ“š' },
]

๐Ÿ†˜ Troubleshooting

Problem Solution
Expenses not saving Make sure browser storage is enabled, not in private mode
Currency not converting Refresh the page, check exchange rates are set in config.js
Can't export data Check browser permissions, try different format
Data disappeared Check if you cleared browser data, restore from backup if available

๐Ÿ“ Tips & Best Practices

For Better Tracking

  • Use consistent descriptions (e.g., "Starbucks" every time, not "coffee")
  • Categorize properly for accurate filtering
  • Add date immediately to avoid confusion

For Data Safety

  • Export your data monthly as backup
  • Keep exported files in a safe location
  • Before clearing data, export first!

๐Ÿ“ฑ Mobile Usage

The app works great on mobile:

  • Touch-friendly buttons and inputs
  • Responsive layout for all screen sizes
  • Works in Safari and Chrome on iPhone/iPad
  • Works in Chrome and Firefox on Android

๐ŸŽฏ What's New

v2.0

  • โœจ Multi-currency support with real exchange rates
  • ๐Ÿ’ฑ Automatic currency conversion
  • ๐Ÿ“ฅ Export/Import functionality
  • ๐ŸŽจ Beautiful modern redesign
  • ๐Ÿ“ฑ Improved mobile experience
  • ๐Ÿ“Š Enhanced statistics (average expense)

๐Ÿค” FAQ

Q: Is my data safe? A: Yes! All data is stored locally in your browser. Nothing is sent to any server.

Q: Can I use this offline? A: Yes! Once loaded, the app works completely offline.

Q: How many expenses can I track? A: As many as your browser's storage allows (~5-10MB), which is typically thousands of expenses.

Q: Can I sync across devices? A: Export from one device and import on another using the export/import feature.

Q: Can I change currencies later? A: Yes! All expenses are stored with their original currency and auto-convert when you change your preferred currency.

๐Ÿ“Š Project Stats

  • Files: 6
  • Dependencies: 0
  • CSS Lines: 600+
  • JS Lines: 350+
  • Total Size: ~30KB
  • Gzipped: ~10KB

๐Ÿ“„ License

MIT License - Feel free to use and modify for personal use.

๐ŸŽ‰ Enjoy!

Start tracking your expenses now! Any questions or suggestions, feel free to add an issue on GitHub.


Made with โค๏ธ using vanilla web technologies

Last updated: April 2024 | Version 2.0.0

Releases

Packages

Contributors

Languages