A modern expense tracking application built with React, TypeScript, and FastAPI.
expense-tracker/
├── backend/ # FastAPI backend
│ ├── main.py # Main FastAPI application
│ └── requirements.txt # Python dependencies
└── frontend/ # React frontend
├── src/ # Source files
├── public/ # Static files
├── package.json # Node.js dependencies
└── .env # Environment variables
- 💳 Add, edit, and delete expenses
- 📊 Interactive dashboard with expense trends
- 🌓 Dark/Light mode toggle
- 📥 Export expenses to CSV
- 🔍 Advanced filtering and search
- 📱 Fully responsive design
- ⚡ Real-time updates
- React 18 with TypeScript
- Tailwind CSS
- shadcn/ui components
- Recharts for data visualization
- Framer Motion for animations
- FastAPI (Python 3.8+)
- Pydantic for data validation
- SQLAlchemy (ready for database integration)
- CORS middleware
- Uvicorn server
- Python 3.8+
- Node.js 18+
- npm or yarn
- Navigate to the backend directory:
cd backend
- Create and activate a Python virtual environment:
python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
- Install Python dependencies:
pip install -r requirements.txt
- Start the FastAPI server:
uvicorn main:app --reload --port 8000
The API will be available at http://localhost:8000
- Navigate to the frontend directory:
cd frontend
- Install dependencies:
npm install # or yarn install
- Start the development server:
npm run dev # or yarn dev
The application will be available at http://localhost:5173
FastAPI provides automatic interactive API documentation. Visit:
- Swagger UI:
http://localhost:8000/docs
- ReDoc:
http://localhost:8000/redoc
This project is licensed under the MIT License.