Skip to content

zivhm/StageScout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

StageScout

StageScout

Discover concerts for the artists you actually listen to.

Live App β€’ Architecture β€’ Infrastructure β€’ Repo Scope


StageScout transforms your Spotify listening history into personalized concert recommendations. Connect your account, pick your location and dates, and discover live shows from your favorite artists.

Features

For Users

  • Spotify-Powered Discovery β€” Pull your top artists directly from Spotify for truly personalized recommendations
  • Location & Date Filtering β€” Search for concerts within a specific radius and date range
  • Progressive Loading β€” See location-based matches instantly while artist-specific events load in the background

For Developers

  • Server-Side Sessions β€” Secure session management with hardened cookie settings
  • Multi-API Integration β€” Unified interface for Spotify, Ticketmaster, and Geoapify
  • Production-Ready β€” Full IaC pipeline with Terraform, Ansible, Docker, and Nginx

Tech Stack

Category Stack
Backend Flask, Gunicorn
Frontend HTML, CSS, Vanilla JS
APIs Spotify, Ticketmaster, Geoapify
State Flask-Session, Filesystem Cache
Infrastructure AWS EC2, Docker, Nginx
Automation Terraform, Ansible
Monitoring Prometheus, Grafana

How It Works

flowchart LR
    subgraph Auth["1. Authentication (Spotify)"]
        A1[Click Login] --> A2[OAuth redirect]
        A2 --> A3[Approve access]
        A3 --> A4[Session created]
    end

    subgraph Artists["2. Artist Selection (Spotify)"]
        B1[Fetch top artists] --> B2[Display grid]
        B2 --> B3[Select favorites]
        B3 --> B4[Saved to session]
    end

    subgraph Location["3. Location & Dates (Geoapify)"]
        C1[Type city/address] --> C2[Geocode location]
        C2 --> C3[Capture lat/long]
        C3 --> C4[Pick date range]
    end

    subgraph Concerts["4. Concert Discovery (Ticketmaster)"]
        D1[Build query] --> D2[Geo + date search]
        D2 --> D3[Fetch nearby events]
        D3 --> D4[Match to artists]
        D4 --> D5[Filter results]
    end

    subgraph Results[5. Results Dashboard]
        E1[Display cards] --> E2[Venue, date, price]
        E2 --> E3[Background load remaining]
    end

    Auth --> Artists
    Artists --> Location
    Location --> Concerts
    Concerts --> Results

    classDef SpotifyStep fill:#1db954,color:#fff,stroke:#1db954
    classDef GeoapifyStep fill:#e22121,color:#fff,stroke:#e22121
    classDef TicketmasterStep fill:#f47b20,color:#fff,stroke:#f47b20
    classDef ResultsStep fill:#1e3264,color:#fff,stroke:#1e3264

    class Auth,Artists SpotifyStep
    class Location GeoapifyStep
    class Concerts TicketmasterStep
    class Results ResultsStep
Loading

The magic: Ticketmaster searches events by geographic coordinates, while Spotify provides your artist list. StageScout bridges both β€” finding concerts near you for the artists you actually listen to.

Screenshots

Landing Page Preferences
Landing Preferences

System Architecture

Application Flow

flowchart LR
    U[User Browser] --> N[Nginx]
    N --> A[Flask App]
    A --> S[Spotify API]
    A --> T[Ticketmaster API]
    A --> G[Geoapify API]
    A --> C[Cache & Sessions]
    A --> M[Prometheus]
    M --> P[Grafana]
Loading

Deployment Pipeline

flowchart TD
    D[deploy.sh] --> TF[Terraform]
    TF --> AWS[AWS EC2]
    D --> AN[Ansible]
    AN --> HOST[Ubuntu Host]
    HOST --> NG[Nginx]
    HOST --> DC[Docker]
    DC --> APP[StageScout]
Loading

Documentation

Public Repo Scope

Included:

  • Product overview and feature documentation
  • Architecture diagrams and flowcharts
  • Public-safe screenshots
  • High-level stack and operations notes

Excluded:

  • Application source code
  • Terraform and Ansible configurations
  • Secrets, credentials, and environment variables
  • Production deployment details

License

MIT License β€” see LICENSE for details.


Built with Flask β€’ Powered by Spotify

About

πŸŽ™οΈ Personalized concert discovery - connect Spotify, set location & dates, find live events for artists you love.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors