Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

Canadian Donations Mapping Platform (CDMP)

An interactive web application for exploring Canadian federal political donation data through geographic visualizations and aggregated analytics.

Note: The source code is currently private because it was developed as part of a University of Toronto software engineering course.

Overview

The Canadian Donations Mapping Platform (CDMP) enables users to explore publicly available federal political donation data from Elections Canada using an interactive map interface. Rather than manually analyzing thousands of donation records, users can quickly visualize donation patterns across Canada's federal electoral districts and compare trends over multiple years.

The application combines geospatial visualization with efficient backend data processing to provide a responsive experience for exploring donation statistics by region and political party.

Features

  • Interactive map of Canadian federal electoral districts
  • Choropleth visualization of regional donation data
  • Filtering by election year and political party
  • Regional donation summaries and aggregated statistics
  • Responsive user interface for exploring donation trends
  • Backend APIs optimized for fast data retrieval

Tech Stack

Frontend

  • React
  • JavaScript
  • CSS
  • React Leaflet

Backend

  • Python
  • Flask
  • SQLite

Data

  • Elections Canada political donation datasets
  • SQL data processing and aggregation

Architecture

Elections Canada Data
        │
        ▼
Data Cleaning & Processing
        │
        ▼
   SQLite Database
        │
        ▼
     Flask API
        │
        ▼
 React Frontend
        │
        ▼
 Interactive Map & Analytics

My Contributions

As a full-stack developer on the project, I contributed to both the frontend interface and backend API development.

Backend

  • Developed the GET /api/summary endpoint for retrieving regional donation statistics.
  • Wrote SQL Common Table Expression (CTE) queries to efficiently aggregate donation data by electoral district.
  • Integrated backend endpoints with the frontend to support dynamic filtering and data visualization.

Frontend

  • Designed and implemented the application's sidebar interface.
  • Built reusable React components for displaying regional statistics and filter controls.
  • Connected frontend interactions with backend APIs to update visualizations in real time.

Team

This project was developed as part of CSCC01: Software Engineering I at the University of Toronto Scarborough.

Future Improvements

Potential future enhancements include:

  • Additional visualization options
  • Expanded filtering capabilities
  • Performance improvements for larger datasets
  • Support for provincial and municipal donation datasets

Main Interface & Spatial Visualizations

Dynamic Cross-Party View (Longitudinal breakdown)

The core map view automatically partitions and displays the highest-contributing political party as the dominant shading color for each federal riding, with color opacity scaling based on average contribution densities.

2020 High-Volume View 2021 High-Volume View
2020 All Parties 2021 All Parties
--- ---
All Parties 2020 All Parties 2021
2022 High-Volume View 2023 High-Volume View
All Parties 2022 All Parties 2023

Granular In-Region Navigation

The React Leaflet map layer supports fluid mouse interaction, pan tracking, and geographic scaling down to specific southern Ontario municipal clusters.

Southern Ontario Zoomed-In Grid Macro-Level Regional Perspective
Regional Close-Up Macro Overview

Individual Political Party Choropleth Filtering (2023)

Users can filter the geospatial boundaries using individual political party configurations to assess isolated geographic strongholds.

Conservative Party of Canada (CPC) Liberal Party of Canada (LPC)
2023 Conservative Filtering 2023 Liberal Filtering
New Democratic Party (NDP) Green Party of Canada (GPC)
2023 NDP Filtering 2023 Green Filtering
Bloc Québécois (BQ)
2023 Bloc Filtering

Repository Status

This repository is currently private due to academic course policies. If you're interested in learning more about the project, its architecture, implementation, or my contributions, I'd be happy to discuss it.

License

Copyright © 2026. All rights reserved. Source code is not available for redistribution while the repository remains private.

About

Web application for exploring Canadian federal political donation data. Tech stack: React, CSS, Flask, SQL, Python, LeafletJS

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors