Skip to content

BeatMap is a web application designed to help travelers and music fans discover live events in the cities they plan to visit.

Notifications You must be signed in to change notification settings

BUMETCS673/cs673olf25project-cs673olf25_team4

Repository files navigation

BeatMap

BeatMap is a web application that helps travelers and music fans discover live concerts in the cities they plan to visit.
Instead of relying only on artists you already follow, BeatMap makes it easy to find shows by location and date, then adds personalization on top.

Whether you’re a tourist looking to catch a concert while visiting a new city, or a local searching for new artists and venues, BeatMap makes event discovery simple and fun.


What You Can Do with BeatMap

  • Search concerts by artist, city, or venue
  • Filter results by date, genre, location, and price
  • View event details including lineup, venue, ticket links, and pricing
  • Discover new artists and venues you might not have found otherwise

Why BeatMap?

Other platforms like Bandsintown, Songkick, and Spotify’s “Concerts Near You” mainly focus on alerting you when your favorite artists announce a show.
BeatMap flips this around: it starts with where and when you’ll be and then shows you everything happening there, with optional personalization.

This makes it especially useful for:

  • Travelers planning trips
  • Locals wanting to explore music nearby
  • Fans who enjoy discovering new performers

Core Features (Planned)

  • Concert search by artist, city, or venue
  • Filters & sorting for date, genre, price, and popularity
  • Event pages with details, lineup, and ticket links
  • Favorites / Wishlist to keep track of shows you’re interested in
  • User accounts with secure sign-in
  • Interactive map view
  • Calendar export (.ics)
  • Email alerts for tracked artists

Technology Overview

  • Backend: Python + FastAPI (REST API)
  • Frontend: React + Vite
  • Database: Azure SQL Database (SQL Server)
  • Deployment: Docker + GitHub Actions + EC2 AWS Virtual Machine
  • Tools: Jira, VS Code, AI helpers (ChatGPT, Gemini, Copilot)

Status

BeatMap is currently in development as part of a graduate software engineering project.
Core functionality (search, filters, event details, and user accounts) will be built first, followed by additional features like map view, calendar export, and alerts.


License

This project is for academic purposes. License details TBD.

AI Usage

As a team, we combined our own work with AI assistance to accelerate development. We used ChatGPT for code generation, architecture, and testing, while focusing on customizing, refining, and adapting the output.

For the Ticketmaster API design, approximately 70% of the code was generated with the help of AI, while 30% was team-written. We also used it to design the API endpoints and set up the Ticketmaster architecture with FastAPI. For the Jambase service, about 60–70% of the code was AI-generated, with the remaining 30% written by the team. We used ChatGPT to understand how to structure the integration of an external API, including how to interact with the API directly and then standardize its output for our system.

For the frontend, roughly 50–60% of the code came from the framework itself, 30% was generated with AI assistance, and about 10% was written by the team. We used ChatGPT to lay the foundation for components and pages with generic code, which we then customized through parameter changes, component configuration, styling, and routing.

Unit tests were originally 100% generated by AI but later modified by the team to fit our needs.

We also used it to review formatting and improve overall code clarity.

Development Setup

Prerequisites

  1. Docker Desktop - Download and install
  2. Git - For cloning the repository
  3. API Keys - You'll need keys for:
    • Ticketmaster API
    • Jambase API
    • Groq API

Quick Start (Recommended)

The easiest way to get started is using our automated setup script:

# From the project root
./start-dev.sh

This script will:

  • ✅ Check that Docker is installed and running
  • ✅ Automatically generate SSL certificates for HTTPS
  • ✅ Create a .env file template for your API keys
  • ✅ Build and start all services

Script Options:

./start-dev.sh                  # Interactive setup
./start-dev.sh --yes            # Skip prompts, start immediately
./start-dev.sh --clean --yes    # Clean rebuild (fixes cache issues)
./start-dev.sh -d -y            # Start in background (detached mode)
./start-dev.sh --help           # Show all options

Manual Setup

If you prefer manual control:

  1. Generate SSL Certificates (first time only):

    cd ssl
    ./generate-dev-certs.sh
    cd ..
  2. Create Environment File:

    cd src
    cp .env.example .env  # If example exists, or create manually
    # Edit .env and add your API keys
  3. Start Services:

    cd src
    docker-compose -f docker-compose.dev.yml up --build

Accessing the Application

Once running, access:

Troubleshooting

Docker Cache Issues: If you see errors about missing files or old configurations:

./start-dev.sh --clean --yes

Certificate Errors: Regenerate certificates:

cd ssl
rm -rf dev/
./generate-dev-certs.sh

View Logs: When running in detached mode:

cd src
docker-compose -f docker-compose.dev.yml logs -f

Stop Services:

cd src
docker-compose -f docker-compose.dev.yml down

Environment Configuration

The .env file should contain:

JAMBASE_API_KEY=your_key_here
TM_API_SECRET=your_secret_here
TM_API_KEY=your_key_here
GROQ_API_KEY=your_key_here
TM_BASE_URL=https://app.ticketmaster.com/discovery/v2

HTTPS & Security

All services communicate via HTTPS, including internal microservice communication. The application automatically adjusts SSL verification based on environment:

  • Development: Uses self-signed certificates with verification disabled
  • Production: Uses Let's Encrypt certificates with full verification

For detailed information about HTTPS configuration, certificate management, and troubleshooting, see:

Live page

https://beatmap.live

About

BeatMap is a web application designed to help travelers and music fans discover live events in the cities they plan to visit.

Resources

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 9