Welcome to FinGenius - Your Expert System-Powered Financial Planning Assistant
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.
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.")
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
- Clone the repository:
git clone https://github.com/Sabermahjoub/Fin_Genius.git
cd fingenius
- Create and activate virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\Activate.ps1
- Install dependencies:
pip install -r requirements.txt
- Start the application:
streamlit run src/main-app.py
-
Access the web interface at
http://localhost:8501
-
Authenticate yourself :
-
Use the sidebar to navigate between features:
- Python 3.8+
- Streamlit
- Experta
- Pandas
- Plotly
- Python-dateutil
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by [Saber & Maha]