A modern, native Android app for browsing and managing your BoardGameGeek collection.
MeepleBook is a modern Android app built with Kotlin, Jetpack Compose, Hilt, and a focus on clean architecture, testability, and future-proofing.
It allows BoardGameGeek (BGG) users to:
- Log in with their BGG credentials
- Browse their collection
- Track and view plays
- Record new plays
- Enjoy a sleek, minimalist, modern UI
- Benefit from thorough automated testing for long-term maintainability
- 🔐 BGG Login (XML API)
- 📚 View User’s Collection
- 🧩 View User’s Plays
- ✍️ Record Play Sessions
- 🌙 Material You + Compose modern UI
- 🧪 Full Test Coverage (UI tests, unit tests, integration tests)
- 🔧 Robust architecture with clear data/domain/ui separation
MeepleBook is designed for long-term maintainability:
- Kotlin-first
- Jetpack Compose UI
- Hilt for DI
- Coroutines + Flow
- Retrofit/OkHttp for BGG XML API
- Room for local cache
- TDD where applicable
- Clean Architecture with layered modules
- Unit tests for view models, repositories, and domain logic
- MockWebServer integration tests
- Compose UI tests
- Optional snapshot tests
- CI pipeline for automated testing (future milestone)
MeepleBook uses the BoardGameGeek XML API2 for all collection and play data.
app.meeplebook
- Android 8.0 (API 26) or newer (tentative)
- Internet connection
- Valid BGG account
Clone the repo:
git clone https://github.com/yourusername/meeplebook.git
cd meeplebookMeepleBook requires a BGG bearer token for API authentication.
Add your token to local.properties (this file is git-ignored):
bgg.bearer.token=YOUR_TOKEN_HERESet the BGG_BEARER_TOKEN secret in your repository settings:
- Go to your repository → Settings → Secrets and variables → Actions
- Create a new repository secret named
BGG_BEARER_TOKEN - Paste your BGG bearer token as the value
The build will automatically use the secret when building in GitHub Actions.
Note: If no token is configured, the bearer interceptor will skip adding the Authorization header.
Open with Android Studio Ladybug or newer.
./gradlew assembleDebug./gradlew test
./gradlew connectedAndroidTest(Coming soon) PRs, bug reports, and suggestions will be welcome as MeepleBook expands.
This project is released under the MIT License. See the LICENSE file for details.