A comprehensive financial management application built with Streamlit that helps users track expenses, manage investments, and achieve financial goals.
- π 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
- 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
- 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