winnipeg-transit-svelte-viz Svelte Themes

Winnipeg Transit Svelte Viz

Svelte and Tailwind CSS interface for visualizing Winnipeg Transit performance

🚍 Winnipeg Transit Pulse (Frontend)

Transit Pulse is a modern, real-time analytics dashboard for the Winnipeg Transit network. It serves as the visual interface for exploring On-Time Performance (OTP), ridership trends, and service bottlenecks using interactive charts and geospatial maps.

Built with Svelte and Vite for lightning-fast rendering.

⚑ Features

  • πŸ“Š Performance Dashboard: Real-time view of OTP scores, delay probabilities, and deviation trends.
  • πŸ—ΊοΈ Interactive Maps:
    • Route Trace: Visualizes specific route performance.
    • Heatmaps: Identifies "Late" vs "Early" hotspots across the city.
  • πŸ“ˆ Trend Analysis: Beautiful, gradient-filled charts for historical data analysis (30-day views).
  • πŸŒ“ Adaptive UI: Fully responsive design with built-in Dark/Light mode.
  • πŸ“± Mobile Ready: Responsive layout that works on desktop, tablets, and mobile devices.

πŸ› οΈ Tech Stack

  • Framework: Svelte (via Vite)
  • Styling: Tailwind CSS + Custom CSS Variables
  • Visualization: Chart.js (Trends), Leaflet (Maps)
  • Icons: Lucide-Svelte
  • State Management: Svelte Stores

πŸš€ Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn
  • A running instance of the Transit Pulse API (Backend)

Installation

  1. Clone the repository:

    git clone https://github.com/HarshvardhanGadhvi/winnipeg-transit-svelte-viz.git
    cd winnipeg-transit-svelte-viz
    
  2. Install dependencies:

    npm install
    
  3. Environment Setup: Create a .env file in the root directory to point to your backend API.

    # .env
    # Point this to your backend server IP/URL
    VITE_API_BASE_URL=http://localhost:5001/api/v1
    
  4. Start the development server:

    npm run dev
    
  5. Open your browser at http://localhost:5173 (or the Network IP shown in the terminal).

πŸ“‚ Project Structure

```text src/ β”œβ”€β”€ components/ β”‚ β”œβ”€β”€ OTP/ # OTP Dashboard Widgets (Scorecards, Charts) β”‚ β”œβ”€β”€ Map/ # Leaflet Map Wrappers β”‚ β”œβ”€β”€ Passups/ # Pass-up Logic β”‚ └── Ridership/ # Ridership Graphs β”œβ”€β”€ stores/ # Global State (otpStore, ridershipStore) └── App.svelte # Main Application Layout

Top categories

Loading Svelte Themes