Stock Data Canada

Project Detail
To show case the development process of a real-world use case using web tools and data processing techniques. The web application works on top of Canadian stock market data, collected, transformed, and presented using modern technologies, backend ETL workflows and AWS cloud services. Note that this project is not intended to serve as investment advice, but only to help you explore canadian stock data.

Features

  • Over 300 companies to compare its stock valuation.
  • Comparison of the past 4 years of dividend cash distribution.
  • A list showing all dividend information.
  • Simulate expected dividends based on the amount you plan to invest.
  • Simulate how much you need to invest to earn a specific dividend amount.
  • Download a CSV file with over 100 fields for each of the 300+ companies listed at TSX.

Front-end

  • Languages: HTML, CSS, JavaScript.
  • Frameworks/Libraries: Bootstrap 5.
  • Visualization Tools: Embedded charts, interactive tables.

Backend

  • Languages: Python 3.
  • ETL Frameworks: AWS boto3 and Pandas.
  • Third party APIs: yahooquery to fetch stock data.
  • Scheduling: AWS EventBridge.

Cloud Infrastructure

  • AWS Services:
    • S3 bucket for file storage.
    • Lambda function to fetch public stock market data.
    • EventBridge to trigger ETL process.
    • Cognito to manage user authentication.
    • Route 53 for domain traffic management.
    • Lightsail Linux instance for hosting.
      • Gunicorn (to run Python web applications in production environments).
      • NGINX (reverse proxy to handle static content and forward requests to backend servers).
  • Certbot (command-line tool to automate the issuance and renewal of free SSL certificates from Let’s Encrypt).
  • Github to orchestrate CI/CD
Application Workflow Diagram

CI/CD Deployment of application and ETL code diagram

To explore the full features of this project, a user login is required through a secure AWS Cognito service. However, you may watch some highlights of the application on this demo video.

About the author

This project was developed by Jandir Bezerra, a software developer and data engineer with a solid professional experience in data architecture, backend development, and cloud solutions.

With a bachelor degree in Information Systems, he has worked across different industries, designing and implementing data-driven solutions.

© 2023 Stock Data