# Expense Manager

A comprehensive expense tracking application built with React, TypeScript, and Supabase.

## Features

- User authentication with Supabase
- Add, edit, and delete expenses
- Categorize expenses
- View expense analytics with charts and summaries
- Filter expenses by category and date
- Real-time notifications
- Mobile-responsive design

## Tech Stack

- React
- TypeScript
- Vite
- Supabase (Authentication, Database, Storage)
- TailwindCSS + Shadcn UI
- React Router
- React Hook Form + Zod
- Recharts for data visualization
- Date-fns for date manipulation

## Getting Started

### Prerequisites

- Node.js (v16+)
- npm or yarn
- Supabase account

### Installation

1. Clone the repository
```bash
git clone https://github.com/yourusername/expense-manager.git
cd expense-manager
```

2. Install dependencies
```bash
npm install
# or
yarn install
```

3. Create a `.env` file in the root directory with your Supabase credentials
```
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
```

4. Start the development server
```bash
npm run dev
# or
yarn dev
```

5. Open http://localhost:5173 to view the application in your browser

## Database Setup

The application uses the following Supabase tables:

1. `expenses` - Stores all user expenses
2. `categories` - Stores expense categories
3. `notifications` - Stores user notifications

## Deployment

This application can be deployed to any static site hosting service like Vercel, Netlify, or GitHub Pages.

## License

This project is licensed under the MIT License.
