LivTenApp-Compose is a modern Android application designed for tennis enthusiasts to track real-time match scores and statistics. Built entirely using Jetpack Compose, this project showcases clean UI/UX implementation, declarative layouts, and seamless state management tailored for sports tracking applications.
This repository serves as an excellent reference for developers looking to learn advanced layouting, custom state handling, and interactive components in Jetpack Compose.
- Live Scoreboard: A dynamic interface to track points (15, 30, 40, Deuce, Advantage), games, and sets for both players.
- Match Configuration: Easily set up player names, match formats (e.g., number of sets), and game rules before starting.
- Match History / Dashboard: View past match statistics, winners, and detailed score breakdowns.
- Responsive Sports UI: Features custom-built sports components, including score counters, player cards, and match status indicators.
- Kotlin - The primary programming language used for modern Android development.
- Jetpack Compose - Google's modern, native UI toolkit used to build the entire interface declaratively.
- Material Design 3 (M3) - Utilizing the latest Material components and dynamic theming for a premium look.
- Architecture Components: Implements
ViewModelandState/Flowfor unidirectional data flow and reactive UI updates. - Jetpack Navigation Compose - Handles fluid screen transitions and routing across the app.
To run this project on your local machine, follow the steps below:
- The latest version of Android Studio (Android Studio Flamingo or newer is highly recommended).
- JDK 17 or higher.
- An Android physical device or Emulator (API Level 26 / Android 8.0 or higher).
- Clone This Repository
git clone [https://github.com/HariAgus/LivTenApp-Compose.git](https://github.com/HariAgus/LivTenApp-Compose.git)
```
2. **Open in Android Studio**
* Launch Android Studio and click on **Open**.
* Browse and select the cloned `LivTenApp-Compose` folder, then click **OK**.
3. **Sync Gradle Dependencies**
* Wait for Android Studio to index the project and complete the *Gradle Sync* process.
4. **Run the App**
* Connect your Android device via USB/Wi-Fi or start an emulator.
* Click the **Run** button (green play icon π―) in the top toolbar.
---
## π Main Directory Structure
```text
app/src/main/java/com/.../livtenapp/
β
βββ data/ # Match models, local storage, or dummy data
βββ ui/ # UI layer containing all Compose visuals
β βββ theme/ # App branding: Colors, Typography, and Theme.kt
β βββ components/# Reusable UI elements (Score counters, Player headers, etc.)
β βββ screen/ # Main application screens (Scoreboard, History, Setup)
βββ MainActivity.kt# Main entry point and Navigation graph setup
