├── .gitattributes ├── .github └── workflows │ └── codeql-analysis.yml ├── .gitignore ├── .pyup.yml ├── Pipfile ├── Pipfile.lock ├── README.md ├── application.py ├── helpers.py ├── img ├── 400.svg ├── C$50 Finance - CS50x.pdf ├── Web - CS50x.pdf ├── demo.gif └── landing.svg ├── static ├── favicon │ ├── android-chrome-192x192.png │ ├── android-chrome-512x512.png │ ├── apple-touch-icon.png │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ └── site.webmanifest ├── images │ ├── animated-400.svg │ ├── animated-401.svg │ ├── animated-403.svg │ ├── animated-404.svg │ ├── animated-finance.svg │ ├── animated-landing.svg │ ├── animated-login.svg │ ├── animated-revenue.svg │ ├── animated-stats.svg │ ├── animated-wallet.svg │ ├── hat-with-feather-black.svg │ ├── hat-with-feather-green.svg │ ├── history.svg │ ├── home.svg │ ├── landing.svg │ ├── no-data.svg │ └── sprite.svg ├── index.js └── styles.css ├── templates ├── bought.html ├── buy.html ├── error.html ├── history.html ├── index.html ├── landing.html ├── layout.html ├── login.html ├── quote.html ├── quoted.html ├── register.html ├── sell.html └── sold.html └── tests ├── test_app.py └── test_views.py /.gitattributes: -------------------------------------------------------------------------------- 1 | *.html linguist-generated -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | # For most projects, this workflow file will not need changing; you simply need 2 | # to commit it to your repository. 3 | # 4 | # You may wish to alter this file to override the set of languages analyzed, 5 | # or to provide custom queries or build logic. 6 | # 7 | # ******** NOTE ******** 8 | # We have attempted to detect the languages in your repository. Please check 9 | # the `language` matrix defined below to confirm you have the correct set of 10 | # supported CodeQL languages. 11 | # 12 | name: "CodeQL" 13 | 14 | on: 15 | push: 16 | branches: [ master ] 17 | pull_request: 18 | # The branches below must be a subset of the branches above 19 | branches: [ master ] 20 | schedule: 21 | - cron: '34 13 * * 6' 22 | 23 | jobs: 24 | analyze: 25 | name: Analyze 26 | runs-on: ubuntu-latest 27 | 28 | strategy: 29 | fail-fast: false 30 | matrix: 31 | language: [ 'python' ] 32 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] 33 | # Learn more: 34 | # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed 35 | 36 | steps: 37 | - name: Checkout repository 38 | uses: actions/checkout@v2 39 | 40 | # Initializes the CodeQL tools for scanning. 41 | - name: Initialize CodeQL 42 | uses: github/codeql-action/init@v1 43 | with: 44 | languages: ${{ matrix.language }} 45 | # If you wish to specify custom queries, you can do so here or in a config file. 46 | # By default, queries listed here will override any specified in a config file. 47 | # Prefix the list here with "+" to use these queries and those in the config file. 48 | # queries: ./path/to/local/query, your-org/your-repo/queries@main 49 | 50 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). 51 | # If this step fails, then you should remove it and run the build manually (see below) 52 | - name: Autobuild 53 | uses: github/codeql-action/autobuild@v1 54 | 55 | # ℹ️ Command-line programs to run using the OS shell. 56 | # 📚 https://git.io/JvXDl 57 | 58 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines 59 | # and modify them (or add more) to build your code if your project 60 | # uses a compiled language 61 | 62 | #- run: | 63 | # make bootstrap 64 | # make release 65 | 66 | - name: Perform CodeQL Analysis 67 | uses: github/codeql-action/analyze@v1 68 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__ 2 | finances.db 3 | .vscode 4 | .env 5 | # Elastic Beanstalk Files 6 | .elasticbeanstalk/* 7 | !.elasticbeanstalk/*.cfg.yml 8 | !.elasticbeanstalk/*.global.yml 9 | -------------------------------------------------------------------------------- /.pyup.yml: -------------------------------------------------------------------------------- 1 | # autogenerated pyup.io config file 2 | # see https://pyup.io/docs/configuration/ for all available options 3 | 4 | schedule: '' 5 | update: false 6 | -------------------------------------------------------------------------------- /Pipfile: -------------------------------------------------------------------------------- 1 | [[source]] 2 | name = "pypi" 3 | url = "https://pypi.org/simple" 4 | verify_ssl = true 5 | 6 | [dev-packages] 7 | 8 | [packages] 9 | requests = "==2.26.0" 10 | flask-marshmallow = "==0.14.0" 11 | marshmallow-sqlalchemy = "==0.26.1" 12 | python-dotenv = "==0.19.0" 13 | pytest = "*" 14 | mysql-connector = "*" 15 | Flask = "==2.0.1" 16 | Flask-Session = "==0.4.0" 17 | Flask-SQLAlchemy = "==2.5.1" 18 | Werkzeug = "==2.0.1" 19 | redis = "==3.5.3" 20 | 21 | [requires] 22 | python_version = "3" 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |