Skip to content
This repository was archived by the owner on Apr 27, 2026. It is now read-only.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

Quest Canada Gap Analysis System - Web Application

Modern web application for tracking climate action progress across Canadian municipalities

Live Demo (Legacy): https://cpsc405.joeyfishertech.com (Grafana-based system) Status: 🚧 In Development Timeline: 4 weeks (January-February 2025)


Overview

A comprehensive web platform for Quest Canada to manage climate action assessments, track community projects, monitor funding sources, and visualize progress with interactive dashboards.

Key Features

  • πŸ” Authentication & Multi-Tenancy - Secure login with role-based access for multiple communities
  • πŸ“Š Interactive Dashboards - Embedded Apache Superset visualizations
  • πŸ“ Data Management - Complete CRUD for assessments, projects, funding, and milestones
  • πŸ€– AI-Powered Data Entry - Upload PDF reports, Claude AI extracts structured data
  • πŸ“ˆ Benchmark Tracking - Quest Canada's 10-indicator framework built-in
  • πŸ’° Funding Tracker - Multi-source funding management and gap analysis
  • πŸ“… Project Milestones - Timeline tracking with dependencies
  • πŸ“„ PDF Reports - Automated report generation with custom branding

Technology Stack

Frontend

  • React 18+ with TypeScript
  • Shadcn UI component library
  • Tailwind CSS for styling
  • React Router for navigation
  • TanStack Query for state management
  • @superset-ui/embedded-sdk for dashboard embedding

Backend

  • Node.js 20+ with Express.js
  • Prisma ORM for type-safe database access
  • JWT authentication
  • Anthropic Claude API for AI extraction

Database

  • PostgreSQL 14+
  • 10 tables with comprehensive relationships
  • Multi-tenancy with row-level security

Visualization

  • Apache Superset 3.x (Docker)
  • Guest token authentication
  • Embedded dashboards with RLS

Infrastructure

  • Nginx reverse proxy
  • Proxmox LXC container hosting
  • Cloudflare SSL
  • GitHub Actions CI/CD

Project Structure

quest-canada-web-app/
β”œβ”€β”€ docs/                           # All planning documentation
β”‚   β”œβ”€β”€ planning/                   # Implementation plan, setup guides
β”‚   β”œβ”€β”€ database/                   # Prisma schema, seed data, DB docs
β”‚   β”œβ”€β”€ superset/                   # Superset integration guides
β”‚   └── ai-extraction/              # AI service design, prompts
β”œβ”€β”€ src/                            # Source code (to be added)
β”‚   β”œβ”€β”€ app/                        # Open SaaS Wasp application
β”‚   β”œβ”€β”€ client/                     # React frontend
β”‚   β”œβ”€β”€ server/                     # Node.js backend
β”‚   └── shared/                     # Shared types
β”œβ”€β”€ superset/                       # Apache Superset configuration
└── README.md                       # This file

Documentation

Planning & Architecture

Database

Apache Superset

AI Extraction


Quick Start

Prerequisites

  • Node.js >= 22.12
  • Docker Desktop (for PostgreSQL & Superset)
  • Wasp CLI (for Open SaaS)
  • Git

Installation

# 1. Clone repository
git clone https://github.com/fisherjoey/quest-canada-web-app.git
cd quest-canada-web-app

# 2. Install Wasp CLI (if not installed)
curl -sSL https://get.wasp-lang.dev/installer.sh | sh

# 3. Initialize Open SaaS (coming soon)
# wasp new quest-canada-app -t saas
# cd quest-canada-app

# 4. Install dependencies
# npm install

# 5. Setup database
# npm run db:setup

# 6. Start development
# wasp start

Environment Variables

See .env.example for required configuration.


Development Roadmap

βœ… Phase 0: Planning & Research (Week 0 - COMPLETED)

  • Research Open SaaS boilerplate
  • Design database schema with Prisma
  • Plan Apache Superset integration
  • Design AI extraction service
  • Create comprehensive documentation

🚧 Phase 1: Foundation (Week 1 - IN PROGRESS)

  • Initialize Open SaaS boilerplate
  • Setup PostgreSQL with Prisma
  • Configure authentication
  • Implement multi-tenancy
  • Deploy Apache Superset

πŸ“‹ Phase 2: Core Features (Week 2)

  • Build assessment CRUD forms
  • Build project management interface
  • Build funding tracker
  • Build milestone manager
  • Create dashboard layouts

πŸ“Š Phase 3: Visualization (Week 2-3)

  • Create Superset dashboards
  • Implement dashboard embedding
  • Configure Row-Level Security
  • Test multi-tenancy filtering

πŸ€– Phase 4: AI Integration (Week 3)

  • Implement file upload service
  • Integrate Claude API
  • Build chat interface
  • Create review/approval workflow
  • Test with sample reports

πŸš€ Phase 5: Production (Week 4)

  • Implement PDF report generation
  • Build admin panel
  • Mobile responsive testing
  • Deploy to LXC 101
  • User training documentation

Legacy System

The current production system uses Grafana + Flask + PostgreSQL:


Team

Developer: Kaden Rothlander Course: CPSC 405 Software Entrepreneurship / ENTI 415 Software Venturing Institution: University of Calgary Term: Fall 2025 Partner: Quest Canada


License

[Add license information]


Contact

For questions or issues, please open a GitHub issue or contact the development team.


Last Updated: January 2025 Version: 0.1.0-alpha Status: Planning Complete, Implementation Starting

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages