Skip to content

pseudonym-tbd/cs50-final-project-2

Repository files navigation

Personal Finance & Investment Portfolio Manager

CS50 Final Project

A sophisticated web application for managing personal finances and investment portfolios, built with Flask, SQLite, and modern frontend technologies.

Features

  • 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

Technologies Used

  • 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

Project Structure

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

Installation & Setup

  1. Clone the repository
  2. Install dependencies: pip install -r requirements.txt
  3. Set up environment variables (API keys)
  4. Run: python app.py
  5. Open http://localhost:5000

CS50 Concepts Demonstrated

  • 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published