A modern, responsive web application for discovering music events worldwide. Built with Next.js, TypeScript, and Tailwind CSS.
- Search & Filters: Find events by location, artist, venue, date, and genre
- Artists Page: Browse and search artists with watchlist functionality
- Venues Page: Explore concert venues with location-based search and watchlist
- Watchlist: Save favorite artists and venues (stored in local storage)
- Wishlist: Mark events you're interested in attending (stored in local storage)
- Interactive Map: View event locations on an interactive map using Leaflet and OpenStreetMap
- Event Details: Detailed event pages with venue information and ticket links
- Responsive Design: Mobile-friendly interface with modern UI
- No Authentication Required: Public access for all users
- Node.js 18+ and npm
- Clone the repository:
git clone https://github.com/mbianchidev/find-concerts-io.git
cd find-concerts-io- Install dependencies:
npm install- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
npm run buildThe application is configured for static export and can be deployed to GitHub Pages.
- Frontend: Next.js 15, React 19, TypeScript
- Styling: Tailwind CSS
- Maps: Leaflet with OpenStreetMap
- Data: Mock data based on Bandsintown API schema
src/
├── app/ # Next.js app router pages
├── components/ # Reusable React components
├── data/ # Mock data and constants
├── lib/ # Utility functions
└── types/ # TypeScript type definitions
The application uses mock data based on the Bandsintown API schema defined in bands-in-town.yaml. The mock data includes events from popular artists across different venues worldwide.
This application is configured for deployment on GitHub Pages with static export.
The project includes a GitHub Actions workflow that automatically deploys to GitHub Pages:
- Automatic: Deploys on every push to the
mainbranch - Manual: Can be triggered manually from the Actions tab
- URL:
https://mbianchidev.github.io/find-concerts-io/
To enable GitHub Pages deployment for your fork:
- Go to your repository Settings → Pages
- Under "Build and deployment", select:
- Source: GitHub Actions
- Push to the
mainbranch or manually trigger the workflow
The workflow will:
- Install dependencies
- Build the Next.js application with the correct base path
- Create a
.nojekyllfile to prevent Jekyll processing - Deploy to GitHub Pages
To build and test the production version locally:
# Build with GitHub Pages base path
NEXT_PUBLIC_BASE_PATH=/find-concerts-io npm run build
# The static files will be in the 'out' directoryFor deployment to a custom domain, remove the NEXT_PUBLIC_BASE_PATH environment variable from the workflow.
Licensed under the Apache License, Version 2.0. See LICENSE for details.