Skip to content

If you worry about exposing your personal expenses to any app, then this app is for you. Set up your own database, the app and you are good to go. No data sharing, cloud backup and safe.

License

Notifications You must be signed in to change notification settings

Kodiererin/ExpenseMate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

61 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’° ExpenseMate

ExpenseMate Logo

A beautiful, modern expense tracking app built with React Native and Expo

Expo React Native TypeScript Firebase

πŸš€ Quick Start | πŸ“– Features | 🀝 Contributing


πŸ“± Screenshots

Below are previews of ExpenseMate in both Light and Dark modes. You can scroll horizontally to see all screens.

🌞 Light Mode
Home Light Home Light Home Light Home Light Home Light Home Light Home Light
🌚 Dark Mode
Home Dark Home Dark Home Dark Home Dark Home Dark Home Dark Home Dark

✨ Features

πŸ’Έ Expense Management

  • πŸ“Š Smart Categorization - Organize expenses with customizable categories (Food, Travel, Shopping, Bills, etc.)
  • πŸ’° Real-time Tracking - Add expenses instantly with amount, description, and date
  • πŸ“… Date Flexibility - Track expenses for any date, not just today
  • πŸ” Advanced Filtering - Filter expenses by month, year, and category

πŸ“ˆ Analytics & Insights

  • πŸ“Š Beautiful Charts - Interactive pie charts showing expense distribution
  • πŸ“… Monthly Overview - Track spending patterns month by month
  • πŸ’‘ Smart Insights - Get insights into your spending habits
  • πŸ“‹ Export Ready - Share expense summaries easily

🎯 Budget Goals

  • 🎯 Goal Setting - Set monthly budget goals for each category
  • πŸ“Š Progress Tracking - Visual progress indicators for your goals
  • ⚑ Real-time Updates - Goals update automatically as you add expenses
  • πŸ† Achievement System - Track your budget success rate

🎨 Modern UI/UX

  • πŸŒ™ Dark/Light Theme - Automatic theme switching based on system preference
  • πŸ“± Native Feel - Smooth animations and native performance
  • β™Ώ Accessibility - Full accessibility support with screen readers
  • 🎯 Intuitive Navigation - Clean tab-based navigation with visual feedback

πŸ—οΈ Tech Stack

Technology Purpose Version
Expo React Native framework 53.0.17
React Native Mobile app development 0.79.5
TypeScript Type safety 5.8.3
Expo Router File-based routing 5.1.3
Firebase Backend & database 11.10.0
React Native Chart Kit Data visualization 6.12.0
React Native Gesture Handler Touch interactions 2.24.0
React Native Reanimated Smooth animations 3.17.5

πŸš€ Quick Start

Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn
  • Expo CLI (npm install -g @expo/cli)
  • Android Studio (for Android development)
  • Xcode (for iOS development, macOS only)

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/ExpenseMate.git
    cd ExpenseMate
  2. Install dependencies

    npm install
  3. Set up environment variables

  4. Start the development server

    npm start
  5. Run on your device

    • Android: npm run android or scan QR code with Expo Go
    • iOS: npm run ios or scan QR code with Expo Go
    • Web: npm run web

EAS Build Setup (Optional)

For building APK/IPA files:

  1. Install EAS CLI

    npm install -g eas-cli
  2. Login to Expo

    eas login
  3. Build for Android

    npm run build:android
  4. Build for iOS

    npm run build:ios

🎯 Features Deep Dive

πŸ’° Add Expenses

  • Smart Categories: Pre-defined categories with emojis
  • Custom Categories: Add your own categories
  • Amount Validation: Prevents invalid inputs
  • Date Selection: Pick any date for your expense

πŸ“Š Analytics Dashboard

  • Monthly View: See all expenses for any month/year
  • Category Breakdown: Pie chart showing expense distribution
  • Total Calculations: Automatic sum calculations
  • Refresh Support: Pull-to-refresh for latest data

🎯 Budget Goals

  • Monthly Targets: Set budget goals for each category
  • Visual Progress: Progress bars showing goal completion
  • Real-time Updates: Goals update as you add expenses

βš™οΈ Settings & Profile

  • Theme Toggle: Switch between light and dark themes
  • Data Management: Clear cache and manage data
  • App Information: Version and developer info

πŸ§ͺ Development

Available Scripts

Command Description
npm start Start Expo development server
npm run android Run on Android device/emulator
npm run ios Run on iOS device/simulator
npm run web Run on web browser
npm run lint Run ESLint code linting
npm run build:android Build Android APK/AAB
npm run build:ios Build iOS IPA
npm run prebuild Generate native code

🀝 Contributing

We love contributions! Here's how you can help:

πŸ› Bug Reports

Found a bug? Open an issue with:

  • Steps to reproduce
  • Expected vs actual behavior
  • Screenshots if applicable
  • Device/OS information

πŸ’‘ Feature Requests

Have an idea? Request a feature with:

  • Detailed description
  • Use case scenarios
  • Mockups or examples (if applicable)

πŸ› οΈ Code Contributions

  1. Fork the repository

  2. Create a feature branch

    git checkout -b feature/amazing-feature
  3. Make your changes

  4. Run quality checks

    npm run lint
    npx tsc --noEmit
  5. Commit your changes

    git commit -m 'Add amazing feature'
  6. Push to your branch

    git push origin feature/amazing-feature
  7. Open a Pull Request

πŸ“‹ Development Guidelines

  • Follow the existing code style
  • Add TypeScript types for new code
  • Test on both Android and iOS
  • Update documentation if needed
  • Add comments for complex logic

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


Acknowledgments

  • Expo Team - For the amazing React Native framework
  • Firebase - For the reliable backend services
  • React Native Community - For the awesome libraries

⭐ Star this repo if you find it helpful!

About

If you worry about exposing your personal expenses to any app, then this app is for you. Set up your own database, the app and you are good to go. No data sharing, cloud backup and safe.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published