Skip to content

Sarb0Z/ArtistFinder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ArtistFinder

React SPA that searches for artists and their upcoming events via the Bandsintown API, with localStorage caching and Jest test coverage.

What it does

Type an artist name into the search bar and the app fetches their profile and upcoming events from Bandsintown. Each event card links out to the Bandsintown event page. The last 10 searched artists are stored in localStorage with a two-week TTL so repeat searches do not make unnecessary API calls. A cache eviction strategy removes the oldest entry when localStorage is full.

Features

  • Artist search with live API lookup (Bandsintown)
  • Upcoming events list with date, venue, and external link
  • Date-range filtering: today, upcoming, or a specific date via calendar picker
  • Recent search history — last 10 artists persisted in localStorage
  • LocalStorage cache with 14-day TTL and LRU-style eviction on quota exceeded
  • Jest unit tests for ArtistCard, EventCard, and SearchBar components
  • Deployed to GitHub Pages: sarb0z.github.io/ArtistFinder

Tech stack

React 18, React Router 6, Axios, Bootstrap 5, React Bootstrap, Jest, React Testing Library

How to run

# 1. Create a .env file in the project root:
#    REACT_APP_BASE_URL=<bandsintown base url>
#    REACT_APP_API_KEY=<your bandsintown app_id>
yarn install
yarn start       # development server at http://localhost:3000
yarn test        # run Jest test suite
yarn run deploy  # build and push to GitHub Pages

Status

Personal project, completed 2022. The Bandsintown API requires a registered app_id; the .env file is intentionally excluded from version control.

About

React SPA for searching artists + upcoming events via the Bandsintown API, with localStorage caching and Jest tests

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors