A full-stack financial management and intelligence application that automates transaction tracking through email processing, powered by AI for smart categorization and comprehensive spending analytics.
- Smart Email Processing: Automatically processes and categorizes transaction emails from your bank
- AI-Powered Categorization: Leverages OpenAI's GPT for intelligent transaction categorization
- Real-time Analytics: Dynamic financial summaries with spending patterns and trends
- Advanced Filtering: Filter transactions by date ranges and custom categories
- Responsive Design: Seamless experience across all devices
- FastAPI
- Python 3.8+
- OpenAI API
- Gmail API
- SQLite/PostgreSQL
- Pydantic for data validation
- React 18
- TailwindCSS
- React Query
- Headless UI
- React DatePicker
- Axios
- Python 3.8 or higher
- Node.js 14 or higher
- Gmail API credentials
- OpenAI API key
- Clone the repository:
git clone https://github.com/yourusername/fi-mi-cash.git
cd fi-mi-cash
- Set up Python virtual environment:
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
- Install dependencies:
pip install -r requirements.txt
- Configure environment variables:
cp .env.example .env
# Edit .env with your credentials
- Run the backend:
uvicorn app.main:app --reload
- Navigate to frontend directory:
cd frontend
- Install dependencies:
npm install
- Start the development server:
npm start
/fi-mi-cash
├── /backend
│ ├── /app
│ │ ├── /api
│ │ ├── /core
│ │ ├── /models
│ │ └── /services
│ ├── requirements.txt
│ └── README.md
└── /frontend
├── /src
│ ├── /components
│ ├── /services
│ ├── /hooks
│ └── /utils
├── package.json
└── README.md
- Create a Google Cloud Project
- Enable Gmail API
- Create OAuth 2.0 credentials
- Download credentials and save as
credentials.json
- Configure OpenAI API key in
.env
GET /api/v1/transactions/
: Get transactions with filtersGET /api/v1/spending/summary
: Get spending summaryGET /api/v1/categories
: Get available categories
# Backend tests
pytest
# Frontend tests
cd frontend
npm test
- Backend follows PEP 8
- Frontend uses ESLint with Airbnb config
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for GPT API
- Google for Gmail API
- All contributors and users
Your Name - @yourusername
Project Link: https://github.com/yourusername/fi-mi-cash
- Multi-bank support
- Custom category creation
- Budget planning and tracking
- Expense predictions using AI
- Mobile app version
- Export reports in multiple formats
- Multi-currency support
- Automated bill detection and reminders
Fi-Mi-Cash was created to simplify financial management through automation and intelligent analysis. By combining email processing with AI categorization, it provides users with a clear, real-time view of their spending patterns and financial health.
Whether you're tracking personal expenses or managing business transactions, Fi-Mi-Cash turns raw financial data into actionable insights, helping you make informed financial decisions.