Skip to content

jaxendutta/rgap

Repository files navigation

Research Grant Analytics Platform (RGAP)

RGAP Logo

Milestone 2 Updates

Quick guide on how to run? In the terminal:

  1. source setup_env.sh
  2. ./setup_mysql.sh
  3. ./setup_app.sh

Current features supported: All 5 basic features:

  1. user creation/deletion
  2. user login/management
  3. user search history
  4. bookmark
  5. sorting

Table of Contents

Project Overview

RGAP is a comprehensive web-based analytics platform analyzing research funding data from Canada's three major research funding agencies: NSERC (Natural Sciences and Engineering Research Council), CIHR (Canadian Institutes of Health Research), and SSHRC (Social Sciences and Humanities Research Council). The platform leverages open data from Open Canada (https://search.open.canada.ca/grants), which provides detailed grant information from these agencies:

  • NSERC: 136,034+ grant records
  • CIHR: 39,768+ grant records
  • SSHRC: 55,808+ grant records Total Dataset: 231,610+ grants

The platform will provide researchers, administrators, and the public with insights into funding patterns, institutional success rates, and research investment trends across Canadian academic institutions.

Key Focus Areas

  • Integration of tri-agency funding data
  • Cross-agency funding pattern analysis
  • Geographical distribution of research funding
  • Program-specific success metrics
  • Institutional funding trajectories

Documentation

Technology Stack

Frontend

  • React 18.2.0+
  • Tailwind CSS for styling
  • Recharts/chart.js for data visualization
  • React Query for data fetching

Backend

  • Node.js + Express
  • MySQL 8.0.36
  • RESTful API design

Development Tools

  • Git & GitHub
  • npm for package management
  • Docker for development environment

Quick Start

Prerequisites

  • Node.js 22.14.0+
  • MySQL 8.0.36+
  • Python 3.12.7+ (for data fetching)
  • 7zip (optional, for better data compression)

Installation

  1. Clone the repository

    git clone https://github.com/jaxendutta/rgap.git
    cd rgap
  2. Set up environment variables and packages

    source setup_env.sh
  3. Run the MySQL setup script

    ./setup_mysql.sh
  4. Start the application

    ./setup_app.sh

This will:

  • Set up a local MySQL instance
  • Install dependencies for server and client
  • Create database schema and import sample data
  • Start the server and client applications

The setup will display URLs for accessing the application, typically:

Data Fetch and App Setup

RGAP comes with sample data, but you can import the full dataset:

# Fetch data from the tri-agency sources
python fetcher.py --year-start 2019 --year-end 2023 --save

# Import the downloaded data
./setup_app.sh --full

Features

Basic Features:

  1. Comprehensive Grant Search

    • Multi-agency search capability
    • Filter by program, date range, amount
    • Advanced filtering options (institution, location)
  2. Institution Analytics

    • Funding history visualization
    • Success rate analysis
    • Program participation metrics
  3. Program Analysis

    • Success rates by program
    • Funding distribution analysis
    • Year-over-year comparisons
  4. Geographic Distribution

    • Provincial funding distribution
    • Institution concentration analysis
    • Regional success rates
  5. Temporal Analysis

    • Funding trends over time
    • Seasonal pattern analysis
    • Multi-year grant tracking

Advanced Features:

  1. Cross-Agency Analytics

    • Comparative funding analysis
    • Inter-agency program relationships
    • Combined success metrics
  2. Machine Learning Insights

    • Funding success prediction
    • Pattern recognition
    • Anomaly detection
  3. Custom Report Generation

    • Configurable metrics
    • Multiple export formats
    • Scheduled reports
  4. Research Network Analysis

    • Institution collaboration patterns
    • Research field clustering
    • Geographic collaboration mapping
  5. Program Impact Metrics

    • Outcome tracking
    • ROI analysis
    • Success indicator monitoring

Data Management

Sample Dataset:

  • 100 grants per agency
  • 20 institutions
  • 5 years of historical data
  • Complete program coverage

Production Dataset:

  • Full tri-agency data (231K+ grants)
  • All Canadian institutions
  • 25+ years of historical data
  • Complete program listings

Data Processing Pipeline:

  1. Data extraction from Open Canada portal using their standardized grant data format
  2. Agency-specific data parsing (NSERC, CIHR, SSHRC formats)
  3. Data cleaning and normalization
  4. Agency-specific transformations
  5. Database loading and validation

Performance Optimization

Database Level:

  • Indexed queries for common searches
  • Materialized views for analytics
  • Partitioning for historical data
  • Query optimization for large datasets

Application Level:

  • Client-side caching
  • Server-side response caching
  • Pagination for large result sets
  • Lazy loading of components

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •