https://github.com/fa-sharp/cs50-finance-plus
The CS50 Finance assignment with added bells and whistles. Written in Python and Flask
https://github.com/fa-sharp/cs50-finance-plus
Last synced: 8 months ago
JSON representation
The CS50 Finance assignment with added bells and whistles. Written in Python and Flask
- Host: GitHub
- URL: https://github.com/fa-sharp/cs50-finance-plus
- Owner: fa-sharp
- Created: 2021-12-10T11:09:07.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-06-02T04:41:46.000Z (about 3 years ago)
- Last Synced: 2025-10-14T03:27:06.661Z (8 months ago)
- Language: Python
- Homepage: https://cs50-finance-plus.fly.dev/
- Size: 48.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CS50 Finance++
[CS50 Finance](https://cs50.harvard.edu/x/2021/psets/9/finance/) is one of the last assignments of CS50x, the online introductory computer science course from Harvard. It is a virtual stock trading app, written in Python and Flask. I finished the original assignment, but then started playing around with it and added some extra features for fun and learning :)
You can view the [live demo here](https://cs50-finance-plus.fly.dev/) (it may take a few seconds to load!)
### Added User Features:
- Users can view additional data in the home page: day change, cost basis, and gain/loss info for each stock as well as for the portfolio as a whole
- Users can deposit more cash, so they can trade like a billionaire 🤑🤑
- Added a running cash balance to the History page
- Green and red colors to highlight positive/negative amounts
- Users can change their password, as well as delete their profile and data
### Code/nerdy improvements
- Replaced raw SQL and SQLite in the original assignment with SQLAlchemy ORM and Postgres DB for database reads and writes, with models under `application/models.py`
- Created a clearer project structure and followed Flask recommendations, by splitting up route controllers into different files under `application/routes`, and creating a dedicated `config.py` file for Flask's config variables