Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sabermahjoub/fin_genius
FinGenius : a python-based expert system for financial assistance and budget allocation, featuring interactive charts.
https://github.com/sabermahjoub/fin_genius
charts expert-system experta finance finance-management financial-analysis python3 streamlit
Last synced: about 2 months ago
JSON representation
FinGenius : a python-based expert system for financial assistance and budget allocation, featuring interactive charts.
- Host: GitHub
- URL: https://github.com/sabermahjoub/fin_genius
- Owner: Sabermahjoub
- License: mit
- Created: 2024-12-06T15:04:14.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-12-20T21:08:09.000Z (about 2 months ago)
- Last Synced: 2024-12-20T22:21:25.885Z (about 2 months ago)
- Topics: charts, expert-system, experta, finance, finance-management, financial-analysis, python3, streamlit
- Language: Python
- Homepage:
- Size: 1.9 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FinGenius 🤖💰
Welcome to FinGenius - Your Expert System-Powered Financial Planning Assistant
![License](https://img.shields.io/badge/license-MIT-blue.svg)
![Python](https://img.shields.io/badge/python-3.8%2B-blue)
![Streamlit](https://img.shields.io/badge/streamlit-1.0%2B-red)
![Experta](https://img.shields.io/badge/experta-1.9.4-green)## 📌 Table of Contents
- [Overview](#overview)
- [Features](#features)
- [Savings Goal Tracking](#savings-goal-tracking)
- [Budget Allocation](#budget-allocation)
- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)## 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](Demo_Images/Home.PNG)](https://drive.google.com/file/d/1Z_U_oascO8W9nPZ6kH3RBVccl6hobCWA/view?usp=drive_link)## 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:**
```python
# 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:
```bash
git clone https://github.com/Sabermahjoub/Fin_Genius.git
cd fingenius
```2. Create and activate virtual environment:
```bash
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\Activate.ps1
```3. Install dependencies:
```bash
pip install -r requirements.txt
```## Usage
1. Start the application:
```bash
streamlit run src/main-app.py
```2. Access the web interface at `http://localhost:8501`
3. Authenticate yourself :
![screenshot](Demo_Images/authentication.png)
5. Use the sidebar to navigate between features:
- Advisor (Savings Goal Tracker + Budget Allocator)
![screenshot](Demo_Images/Advisor.png)- Charts
![screenshot](Demo_Images/Charts.png)## 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](LICENSE) file for details.
---
Made with ❤️ by [Saber & Maha]