A lightweight, intuitive point tracking application for card games on Android. Keep score across multiple players and rounds with ease. All data is stored locally on your device.
- Multiple Games: Create and manage multiple games simultaneously with dedicated tracking for each
- Multi-Player Support: Track scores for unlimited players per game
- Round Management: Organize gameplay into rounds with individual score entries per player
- Score History: View detailed round-by-round score history for each game
- Flexible Scoring: Support for both "highest score wins" and "lowest score wins" game modes
- Game Status: Categorize games as active or completed for better organization
- Local Storage: All game data is stored locally on your device using SQLite—no internet connection required
- Intuitive UI: Clean, Material 3 design built with Jetpack Compose for a modern Android experience
- Android 7.0 (API 24) or higher
- Android Studio (latest version recommended)
- JDK 11 or higher
-
Clone or download the project
git clone git@github.com:cacutler/AndroidPointTracker-JetpackCompose-Kotlin.git cd CardGamePointTracker -
Open in Android Studio
- Launch Android Studio
- Select "Open an existing Android Studio project"
- Navigate to the project directory
-
Build the project
./gradlew build
-
Run on an emulator or device
- Connect an Android device via USB or launch an Android emulator
- Click "Run" in Android Studio or use:
./gradlew installDebug
-
Create a Game
- Tap the "+" button on the main screen
- Enter the game name
- Select game type (highest or lowest score wins)
- Add player names
-
Track Scores
- Tap on a game to enter the score tracking screen
- Enter points for each player in each round
- Progress through multiple rounds as your game continues
-
View History
- Access the round history to see detailed score progression
- Review past games to see final standings and player performance
-
Manage Games
- Mark games as complete when finished
- View active and completed games on the main screen
- Delete games you no longer need
- Language: Kotlin
- UI Framework: Jetpack Compose with Material 3
- Database: Room (SQLite wrapper)
- Architecture: MVVM (Model-View-ViewModel) with Repository pattern
- Navigation: Jetpack Compose Navigation
- Lifecycle Management: AndroidX Lifecycle
- Build System: Gradle with Kotlin DSL
- Minimum API Level: 24 (Android 7.0)
- Target API Level: 37 (Android 15)
app/
├── src/
│ ├── main/
│ │ ├── java/com/cacutler/cardgamepointtracker/
│ │ │ ├── data/ # Room entities and DAOs
│ │ │ ├── ui/ # UI management and logic
│ │ │ │ ├── screens/ # Composable screens
│ │ │ │ ├── viewmodels/ # ViewModels for state management
│ │ │ │ └── theme/ # Material 3 theme configuration
│ │ │ ├── navigation/ # Navigation graph
│ │ │ ├── repository/ # Data access layer
│ │ │ └── MainActivity.kt # Starting point for the app
│ │ └── res/ # Resources (strings, colors, etc.)
│ ├── test/ # Unit tests
│ └── androidTest/ # Instrumentation tests
└── build.gradle.kts # Module-level build configuration
The app is currently in closed beta testing. Your feedback helps improve the experience before the production release!
-
Contact the Developer
- Email: calexcutler@gmail.com
- Include your Android device model and OS version along with the google account email you want to use to download the app
- Let us know how you plan to use the app
-
Install the Beta
- You'll receive instructions to install the beta version
- Feel free to test various game types and scenarios
-
Provide Feedback
- Report any bugs or issues you encounter
- Suggest features or improvements
- Share your experience and how you're using the app
- Data is stored locally only (cloud sync planned for future releases)
- Export/import functionality coming soon
- Additional game statistics and analytics planned
The project includes both unit tests and instrumentation tests:
# Run unit tests
./gradlew test
# Run instrumentation tests on device/emulator
./gradlew connectedAndroidTest- 📧 Email: calexcutler@gmail.com
- For bug reports, feature requests, or general feedback, please reach out via email
Beta testers are welcome! Please reach out via email to discuss how you'd like to help.