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.
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.
- 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
- React
- JavaScript
- CSS
- React Leaflet
- Python
- Flask
- SQLite
- Elections Canada political donation datasets
- SQL data processing and aggregation
Elections Canada Data
│
▼
Data Cleaning & Processing
│
▼
SQLite Database
│
▼
Flask API
│
▼
React Frontend
│
▼
Interactive Map & Analytics
As a full-stack developer on the project, I contributed to both the frontend interface and backend API development.
- Developed the
GET /api/summaryendpoint 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.
- 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.
This project was developed as part of CSCC01: Software Engineering I at the University of Toronto Scarborough.
Potential future enhancements include:
- Additional visualization options
- Expanded filtering capabilities
- Performance improvements for larger datasets
- Support for provincial and municipal donation datasets
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 |
| --- | --- |
![]() |
![]() |
| 2022 High-Volume View | 2023 High-Volume View |
![]() |
![]() |
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 |
|---|---|
![]() |
![]() |
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) |
|---|---|
![]() |
![]() |
| New Democratic Party (NDP) | Green Party of Canada (GPC) |
![]() |
![]() |
| Bloc Québécois (BQ) | |
![]() |
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.
Copyright © 2026. All rights reserved. Source code is not available for redistribution while the repository remains private.










