Skip to content

stebas101/XOXStocks

Repository files navigation

XOXStocks

A Stock and ETF screener based on Flask

Video Demo:

Description:

Note: project still in progress

XOXStocks is a self-contained Stock and ETF screener web application based on Flask. I developed it as a final project for the CS50's Introduction to Computer Science course.

Disclaimer

educational purposes

no guarantee about the accuracy of the data provided by the app

it shouldn't be used to make investment decisions

Project description:

TODO

How to install and run

TODO

Set FLASK_DEBUG=0 in .flaskenv Environment variables in .env or elsewhere

Design and Components

TODO

  • web app based on Flask

  • use of WTForms and FlaskWTForms allows to streamline the form validation and to implement CSRF key encription on form data

  • use of SQLAlchemy: ORM approach, replacing sqlite with MySQL or PostgreSQL

  • use of database migrations

  • AJAX

  • styled using Bootstrap

  • tests - unittest

File structure

TODO

.
├── README.md
├── app
│   ├── __init__.py
│   ├── api.py
│   ├── auth.py
│   ├── fill_data.py
│   ├── forms.py
│   ├── models.py
│   ├── routes.py
│   ├── static
│   │   └── style.css
│   └── templates
│       ├── _formhelpers.html
│       ├── auth
│       │   ├── login.html
│       │   └── register.html
│       ├── index.html
│       ├── layout.html
│       └── watchlist.html
├── config.py
├── instance
│   ├── data
│   │   └── symbols.csv
│   └── database.db
├── migrations
│   ├── README
│   ├── alembic.ini
│   ├── env.py
│   ├── script.py.mako
│   └── versions
│       └── 4f52b126910e_users_table.py
├── pyproject.toml
├── tests
├── tests.py
└── xoxstocks.py

Desireable future additions

  • Email confirmation upon registration
  • Email token to reset password
  • race conditions to help use with several concurrent users
  • price data storage
  • retrieving data from different sources
  • multiple language support using Babel

Sources and References

[1]The tutorial in the Flask official documentation.

[2]Flask-SQLAlchemy Tutorial

[3]Flask mega tutorial by Miguel Grinberg

[4]Digital Ocean blog: How to use Flask-SQLAlchemy to interact with databases in a Flask application

[5]Digital Ocean blog: how to query tables and paginate data in Flask-SQLAlchemy

About

A stock screener web app built with Flask as a final project for the CS50x course.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors