A sophisticated web application for managing personal finances and investment portfolios, built with Flask, SQLite, and modern frontend technologies.
- Personal Finance Tracking: Track income, expenses, and budgets
- Investment Portfolio Management: Monitor stocks, cryptocurrencies, and other investments
- Real-time Market Data: Live price updates for stocks and crypto
- Data Visualization: Interactive charts and analytics
- Multi-currency Support: Track finances in different currencies
- Mobile-Responsive Design: Works seamlessly on all devices
- Backend: Python, Flask, SQLAlchemy
- Frontend: HTML5, CSS3, JavaScript, Chart.js
- Database: SQLite with SQLAlchemy ORM
- APIs: Alpha Vantage (stock data), CoinGecko (crypto data)
- Authentication: Flask-Login with password hashing
- Styling: Bootstrap 5 with custom CSS
cs50-final-project-2/
├── app.py # Main Flask application
├── models.py # Database models
├── templates/ # HTML templates
├── static/ # CSS, JS, images
├── requirements.txt # Python dependencies
└── README.md # This file
- Clone the repository
- Install dependencies:
pip install -r requirements.txt - Set up environment variables (API keys)
- Run:
python app.py - Open http://localhost:5000
- Algorithms: Sorting, searching, and data processing
- Data Structures: Lists, dictionaries, custom classes
- Web Development: Flask, HTML/CSS/JavaScript
- Database Management: SQLite with ORM
- API Integration: External data sources
- Security: Password hashing, input validation
- Software Engineering: Modular design, error handling
This project showcases comprehensive understanding of computer science principles taught in CS50 while solving a real-world problem with professional-grade implementation.