Skip to content

sampriti-gopisetti/Event-Search-AndroidStudio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Android Event Search App

An Android application for discovering and managing events using the Ticketmaster API. Built with Jetpack Compose and Material Design 3.

Features

  • 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

Technology Stack

Core

  • Language: Kotlin
  • UI Framework: Jetpack Compose
  • Architecture: MVVM (Model-View-ViewModel)
  • Minimum SDK: 24 (Android 7.0)
  • Target SDK: 34 (Android 14)

Networking

  • HTTP Client: Retrofit 2.9.0
  • JSON Parsing: KotlinX Serialization 1.6.3
  • OkHttp: 5.0.0-alpha.11

Image Loading

  • Library: Coil Compose 2.6.0

State Management

  • StateFlow: For reactive UI updates
  • DataStore Preferences: 1.1.1 for persistent storage

Navigation

  • Navigation Compose: 2.7.7

Design

  • Material Design 3: Material You with dynamic colors
  • Theme Support: Light and Dark mode

Project Structure

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

Setup Instructions

  1. Clone the repository

    git clone https://github.com/yourusername/event-search-app.git
    cd event-search-app
  2. Open in Android Studio

    • Open Android Studio
    • Select "Open an Existing Project"
    • Navigate to the project directory
  3. Build the project

    • Android Studio will automatically download dependencies
    • Wait for Gradle sync to complete
  4. Run the app

    • Connect an Android device or start an emulator
    • Click the "Run" button or press Shift + F10

API Configuration

This app uses the Ticketmaster Discovery API and Spotify API. The backend endpoints are configured in the ApiService.kt file.

Key Dependencies

// 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")

Features Implementation

Search Functionality

  • 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

Favorites Persistence

  • DataStore Preferences for persistent storage
  • Reactive Flow-based updates
  • JSON serialization for complex objects
  • Survives app restarts and process death

Event Details

  • Comprehensive event information display
  • Artist details with Spotify integration
  • Venue information with Google Maps link
  • Social media sharing capabilities

Course Information

  • Course: CSCI 571 - Web Technologies
  • Assignment: Assignment 4 - Android Application Development
  • Institution: University of Southern California

License

This project is created for educational purposes as part of CSCI 571 coursework.

Author

Sampriti - USC Graduate Student

About

Android event discovery app built with Jetpack Compose, Material Design 3, and Ticketmaster API. Features event search, favorites with DataStore persistence, artist/venue details, and Spotify integration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages