Skip to content

Edinam27/fin_planner-2.0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Financial Life Planner

A comprehensive financial management application built with Streamlit that helps users track expenses, manage investments, and achieve financial goals.

Features

Core Functionality

  • πŸ“Š Dashboard with financial overview
  • πŸ’° Budget planning and tracking
  • πŸ“ Transaction management
  • 🎯 Financial goal setting
  • πŸ“ˆ Investment portfolio tracking
  • πŸ’³ Debt management
  • πŸ“… Bills and subscriptions tracking
  • πŸ“Š Financial reports and analysis

Key Features

  • Real-time stock data integration via YFinance
  • Interactive data visualization using Plotly
  • Secure user authentication
  • Customizable budget categories
  • Multiple currency support
  • Email notifications for bills and budget alerts
  • Data export in CSV and Excel formats
  • Dark/Light theme options

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/financial-life-planner.git
cd financial-life-planner
Copy
Insert

Create and activate virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
Copy
Insert

Install required packages:
pip install -r requirements.txt
Copy
Insert

Create .env file:
EMAIL_SENDER=your-email@domain.com
EMAIL_PASSWORD=your-app-specific-password
DATABASE_PATH=financial_planner.db
Copy
Insert

Usage
Start the application:
streamlit run main.py
Copy
Insert

Access the application at http://localhost:8501
Register a new account or login with existing credentials
Database Structure
The application uses SQLite with the following main tables:

users: User account information
transactions: Financial transactions
portfolios: Investment holdings
bills: Recurring bills and subscriptions
reports: Generated financial reports
Security Features
Password hashing using SHA-256
Session management with timeout
Secure database connections
Password reset functionality
Input validation and sanitization
Development
Prerequisites
Python 3.8+
SQLite3
Required Python packages listed in requirements.txt
Project Structure
financial-life-planner/
β”œβ”€β”€ main.py
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ README.md
β”œβ”€β”€ .env
└── financial_planner.db
Copy
Insert

Contributing
Fork the repository
Create a feature branch
Commit your changes
Push to the branch
Create a Pull Request
License
This project is licensed under the MIT License.

Support
For support:

Open an issue in the repository
Contact: support@example.com
Acknowledgments
Streamlit for the web framework
YFinance for stock market data
Plotly for data visualization
SQLite for database management
Source: main.py


This README provides:
- Clear overview of features
- Installation instructions
- Usage guidelines
- Database structure
- Security features
- Development setup
- Contributing guidelines
- Support information

The content is based on the actual implementation shown in the code, including the database schema, features, and secu

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages