Skip to content

vgandhi04/studio

Repository files navigation

ExpenseEase - Trip Expense Tracker

This is a Next.js application designed to help you track and manage trip expenses among a group of people. It's built with a modern tech stack including:

  • Next.js (App Router)
  • React
  • TypeScript
  • ShadCN UI Components
  • Tailwind CSS

Features

  • Expense Management: Add, view, edit, and delete expenses.
  • People Management: Add, edit, and delete people participating in the trip.
  • Expense Splitting: Assign who paid for an expense and with whom it's shared (currently assumes equal splits).
  • Currency Selection: Choose from a list of supported currencies for your expenses. The selected currency is persisted locally.
  • Reporting:
    • View overall trip summaries.
    • See individual balances (total paid, total consumed, net balance).
    • Get simplified settlement suggestions for who owes whom.
  • Activity Log: Track key actions performed within the app, such as adding/updating/deleting expenses and people.
  • CSV Export: Export your expense data to a CSV file.
  • Local Storage: All data (expenses, people, activity logs, currency preference) is stored locally in your browser.

Getting Started

  1. Clone the repository (if applicable).
  2. Install dependencies:
    npm install
  3. Run the development server:
    npm run dev
    The application will typically be available at http://localhost:9002 (or another port if 9002 is in use).

Key Components

  • src/app/page.tsx: The main page orchestrating the different tabs (Add Expense, View Expenses, Reports, Manage People, Activity Log).
  • src/components/: Contains reusable UI components, including forms for adding expenses, lists for viewing expenses and people, and the report display.
  • src/hooks/: Custom React hooks for managing state and logic for expenses (useExpenses.ts), people (usePeople.ts), activity logs (useActivityLog.ts), and toast notifications (use-toast.ts).
  • src/contexts/: React contexts, like CurrencyContext.tsx for managing global currency selection.
  • src/lib/: Utility functions and data definitions (e.g., currencies.ts, csv.ts).
  • src/types/: TypeScript type definitions for the application's data structures.

This project was bootstrapped in Firebase Studio.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages