Skip to content

FinGenius : a python-based expert system for financial assistance and budget allocation, featuring interactive charts.

License

Notifications You must be signed in to change notification settings

Sabermahjoub/Fin_Genius

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FinGenius 🤖💰

Welcome to FinGenius - Your Expert System-Powered Financial Planning Assistant

License Python Streamlit Experta

📌 Table of Contents

Overview

FinGenius is an intelligent financial planning assistant that combines the power of expert systems with a user-friendly interface. Built using Python, Streamlit, and Experta, it helps users make informed financial decisions through advanced rule-based analysis and charts visualizations.

▶️ Demo (Click on video)

Video Title

Features

Savings Goal Tracking

FinGenius helps you set and achieve your financial goals through intelligent tracking and recommendations.

Key Features:

  • Authentication
  • Custom savings goal creation
  • Progress tracking with interactive visualizations
  • Smart milestone generation
  • Automated feasibility assessments
  • Budget adjustment recommendations
  • Interactive charts

Expert System Rules:

# Rule example: Milestones generation
    @Rule(Fact(goal_achievable=True), Fact(target_amount=MATCH.target), Fact(timeline=MATCH.timeline), Fact(current_savings=MATCH.savings))
    def generate_milestones(self, target, timeline, savings):
        """Generates monthly milestones to track progress."""
        if(savings == target):
            self.result["milestone"]= f"""Your savings match exactly your savings target. No need for further savings. \n"""
        elif(savings > target):
            self.result["milestone"]= f"""You have enough current savings to satisfy your goal. You will save {savings-target:.2f} TND . \n"""
        else:
            monthly_milestone = (target-savings) / timeline
            self.declare(Fact(monthly_milestone=monthly_milestone))
            self.result["milestone"]= (f"To reach your goal, save {monthly_milestone:.2f} per month.")

Budget Allocation

Optimize your spending with expert-driven budget recommendations using the 50-30-20 rule.

Key Features:

  • Smart expense categorization
  • Personalized budget breakdowns
  • Real-time budget feasibility checks
  • Intelligent spending calculus

Installation

  1. Clone the repository:
git clone https://github.com/Sabermahjoub/Fin_Genius.git
cd fingenius
  1. Create and activate virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\Activate.ps1
  1. Install dependencies:
pip install -r requirements.txt

Usage

  1. Start the application:
streamlit run src/main-app.py
  1. Access the web interface at http://localhost:8501

  2. Authenticate yourself :

    screenshot

  3. Use the sidebar to navigate between features:

    • Advisor (Savings Goal Tracker + Budget Allocator) screenshot

    • Charts screenshot

Dependencies

  • Python 3.8+
  • Streamlit
  • Experta
  • Pandas
  • Plotly
  • Python-dateutil

Contributing

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

License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❤️ by [Saber & Maha]

About

FinGenius : a python-based expert system for financial assistance and budget allocation, featuring interactive charts.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages