Discover local events happening near you, anywhere in the world.
- Location-Based Discovery: Automatically detects your location or search any area
- Interactive Map: Visual representation of events with clickable markers
- Smart Filtering: Filter by category, date, distance, and keywords
- Event Details: Comprehensive information including venue, pricing, and directions
- Real-Time Data: Powered by Ticketmaster API with thousands of events worldwide
- Mobile Responsive: Works seamlessly on desktop, tablet, and mobile devices
- React with TypeScript
- Vite (fast build tool)
- React Router (navigation)
- Leaflet + OpenStreetMap (mapping)
- Axios (API calls)
- date-fns (date formatting)
- Node.js + Express
- TypeScript
- Ticketmaster Discovery API
- CORS enabled for cross-origin requests
- Frontend: Vercel (free hosting)
- Backend: Render (free tier)
- Maps: OpenStreetMap (free)
- Event Data: Ticketmaster API (5,000 free requests/day)
See SETUP.md for detailed installation and deployment instructions.
-
Get a free Ticketmaster API key from developer.ticketmaster.com
-
Clone and setup backend:
cd backend
npm install
cp .env.example .env
# Add your Ticketmaster API key to .env
npm run dev- Setup frontend (in a new terminal):
cd frontend
npm install
npm run dev- Open
http://localhost:3000in your browser
Local-Event-Finder/
├── frontend/ # React frontend application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Page components
│ │ ├── services/ # API service layer
│ │ ├── types/ # TypeScript type definitions
│ │ └── utils/ # Helper functions
│ └── package.json
├── backend/ # Express backend API
│ ├── src/
│ │ ├── controllers/ # Request handlers
│ │ ├── routes/ # API routes
│ │ ├── services/ # Business logic
│ │ ├── models/ # Data models
│ │ └── server.ts # App entry point
│ └── package.json
├── CLAUDE.md # Development plan
├── SETUP.md # Setup and deployment guide
└── README.md # This file
GET /api/events/nearby?lat={lat}&lng={lng}&radius={km}- Get events near locationPOST /api/events/search- Search events with filtersGET /api/events/:id- Get event details by IDGET /health- Health check endpoint
- Automatic browser location detection
- Fallback to default location (New York City) if permission denied
- Manual location search and selection
- Keyword search across event names and descriptions
- Category filtering (Music, Sports, Arts, Family, etc.)
- Date range filtering
- Distance radius control (5-100 km)
- Grid view with event cards showing key information
- Interactive map with event markers
- Click markers or cards to view full details
- Distance calculation from your location
- Full event information and description
- Venue details with embedded map
- Direct links to purchase tickets
- Google Maps directions integration
This app can be deployed entirely for free:
- Vercel (Frontend): Unlimited deployments, 100GB bandwidth/month
- Render (Backend): 750 hours/month (enough for 1 always-running app)
- Ticketmaster API: 5,000 requests/day free
- OpenStreetMap: Unlimited, free mapping
Total cost: $0/month for small to medium traffic
See SETUP.md for step-by-step deployment instructions.
PORT=5000
TICKETMASTER_API_KEY=your_api_key_here
VITE_API_URL=http://localhost:5000/api
Contributions are welcome! Feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
- User authentication and profiles
- Save favorite events
- Event notifications and reminders
- Social sharing features
- Multiple event API sources (Eventbrite, SeatGeek)
- Event categories with icons
- Advanced filtering (price range, venue type)
- Calendar integration
- Dark mode
MIT License - feel free to use this project for learning or as a base for your own applications.
For setup help, see SETUP.md
For the full development plan, see CLAUDE.md
Built with Claude Code