Skip to content

Automate your expense analysis with this tool, adept at categorizing bank statement transactions for better financial insight.

Notifications You must be signed in to change notification settings

sattyamjjain/Fundify

Repository files navigation

Fundify: Bank Statement Analysis Tool

Overview

Fundify is a state-of-the-art tool designed for processing and analyzing bank statements efficiently. Utilizing a combination of Python and FastAPI, integrated with MQTT messaging, it ensures scalable and reliable financial analysis.

Compatibility

Tested and verified on multiple platforms to ensure robust performance across diverse environments:

  • llama2
  • gemma
  • llama3
  • Additional platforms as required

Getting Started

Prerequisites

Before installation, ensure the following are installed:

  • Docker
  • Docker Compose

GPU Support (Optional)

To leverage GPU power in Docker (if applicable to Fundify):

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

# Configure NVIDIA Container Toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

# Test GPU integration
docker run --gpus all nvidia/cuda:11.5.2-base-ubuntu20.04 nvidia-smi

Installation

Clone Fundify Repository:

git clone https://github.com/sattyamjjain/Fundify.git
cd Fundify

Install Dependencies:

pip install -r requirements.txt

Docker Deployment

docker-compose up --build

Usage

Uploading Bank Statements

  • Endpoint: /api/upload-statement/
  • Method: POST
  • Example:
    curl -X POST "http:https://localhost:8000/api/upload-statement/" 
    -H "accept: application/json" 
    -F "bank_name=YourBankName" 
    -F "file=@/path/to/file"

System Architecture

  • FastAPI: Robust API development.
  • MQTT: Scalable messaging.
  • Pandas: Data manipulation and analysis.
  • Docker: Simplified deployment and environment management.

Stopping and Cleaning Up

docker-compose down

Contributing

Encourage contributions by guiding users on how to contribute. For example:

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a pull request.

About

Automate your expense analysis with this tool, adept at categorizing bank statement transactions for better financial insight.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages