An Android application for discovering and managing events using the Ticketmaster API. Built with Jetpack Compose and Material Design 3.
- Event Search: Search for events by keyword, location, category, and distance radius
- Autocomplete: Real-time location and keyword suggestions
- Category Filters: Browse events by category (Music, Sports, Arts & Theatre, Film, Miscellaneous)
- Event Details: View comprehensive event information including date, venue, artists, and ticket availability
- Favorites: Save favorite events with persistent storage across app sessions
- Artist & Venue Details: Explore detailed information about artists and venues
- Spotify Integration: View artist albums with Spotify links
- Social Sharing: Share events via Twitter and Facebook
- Responsive UI: Adaptive design with Material You dynamic theming
- Language: Kotlin
- UI Framework: Jetpack Compose
- Architecture: MVVM (Model-View-ViewModel)
- Minimum SDK: 24 (Android 7.0)
- Target SDK: 34 (Android 14)
- HTTP Client: Retrofit 2.9.0
- JSON Parsing: KotlinX Serialization 1.6.3
- OkHttp: 5.0.0-alpha.11
- Library: Coil Compose 2.6.0
- StateFlow: For reactive UI updates
- DataStore Preferences: 1.1.1 for persistent storage
- Navigation Compose: 2.7.7
- Material Design 3: Material You with dynamic colors
- Theme Support: Light and Dark mode
app/src/main/java/com/example/eventsearchapp/
├── data/
│ ├── api/ # API service interfaces
│ ├── models/ # Data models and response classes
│ └── repository/ # Data repository layer
├── ui/
│ ├── search/ # Search screen and ViewModel
│ ├── details/ # Event details screen
│ ├── favorites/ # Favorites screen
│ └── theme/ # App theming
└── MainActivity.kt # Main entry point
-
Clone the repository
git clone https://github.com/yourusername/event-search-app.git cd event-search-app -
Open in Android Studio
- Open Android Studio
- Select "Open an Existing Project"
- Navigate to the project directory
-
Build the project
- Android Studio will automatically download dependencies
- Wait for Gradle sync to complete
-
Run the app
- Connect an Android device or start an emulator
- Click the "Run" button or press
Shift + F10
This app uses the Ticketmaster Discovery API and Spotify API. The backend endpoints are configured in the ApiService.kt file.
// Jetpack Compose
implementation("androidx.compose.ui:ui:1.6.7")
implementation("androidx.compose.material3:material3:1.2.1")
// Retrofit & Networking
implementation("com.squareup.retrofit2:retrofit:2.9.0")
implementation("com.squareup.okhttp3:okhttp:5.0.0-alpha.11")
// Image Loading
implementation("io.coil-kt:coil-compose:2.6.0")
// DataStore
implementation("androidx.datastore:datastore-preferences:1.1.1")
// Navigation
implementation("androidx.navigation:navigation-compose:2.7.7")
// Serialization
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3")- Real-time autocomplete for locations and keywords
- Category-based filtering with tab navigation
- Distance radius control (0-50 miles)
- Results sorted chronologically by date/time
- DataStore Preferences for persistent storage
- Reactive Flow-based updates
- JSON serialization for complex objects
- Survives app restarts and process death
- Comprehensive event information display
- Artist details with Spotify integration
- Venue information with Google Maps link
- Social media sharing capabilities
- Course: CSCI 571 - Web Technologies
- Assignment: Assignment 4 - Android Application Development
- Institution: University of Southern California
This project is created for educational purposes as part of CSCI 571 coursework.
Sampriti - USC Graduate Student