A modern Android application for Rummy game management and player tracking. Built with modern Android development practices and Firebase integration.
- Game Tracking: Monitor Rummy games with Firebase integration
- Game Status Management: Track game states and status
- Player Management: Manage players and their game participation
- Game History: View and manage game records
- Material Design: Clean, modern interface following Material Design principles
- Dark Theme: Elegant dark theme with professional color scheme
- Navigation Drawer: Intuitive navigation with drawer menu
- Responsive Layout: Optimized for various screen sizes
- Card-based Design: Beautiful card layouts for better data presentation
This project uses GitHub Actions for continuous integration and deployment:
- Trigger: Every push to the
main
branch - Output: Release APK available in GitHub Actions artifacts
- Release: Automatic release created with download link (v1, v2, v3...)
- Installation: Download APK from the latest release and install on your Android device
- Push code to main branch
- GitHub Actions automatically:
- Determines version based on commit message
- Updates version in build.gradle.kts
- Builds the release APK
- Creates a GitHub release with proper versioning
- Uploads the APK for download
The app uses Semantic Versioning based on commit messages:
- Major (X.0.0): Breaking changes (
BREAKING CHANGE:
or!:
) - Minor (X.Y.0): New features (
feat:
orfeature:
) - Patch (X.Y.Z): Bug fixes (
fix:
,bugfix:
,hotfix:
) - Patch (X.Y.Z): Chores (
chore:
,docs:
,style:
,refactor:
,perf:
,test:
)
Examples:
feat: Add user authentication
→ v1.1.0fix: Fix login bug
→ v1.1.1chore: Update dependencies
→ v1.1.2BREAKING CHANGE: Remove old API
→ v2.0.0
-
Enable Unknown Sources:
- Go to Settings → Security → Unknown Sources (or Install unknown apps)
- Enable installation from unknown sources
-
Download APK:
- Go to the Releases page
- Download the latest APK file
-
Install:
- Open the downloaded APK file
- Follow the installation prompts
- Android Version: 9.0 (API 28) or higher
- RAM: 2GB minimum
- Storage: 50MB available space
- Internet: Required for Firebase sync
- Android Studio Arctic Fox or later
- JDK 17 or higher
- Android SDK 28+
- Git
-
Clone the repository:
git clone https://github.com/debabrata-mandal/RummyPulse.git cd RummyPulse
-
Open in Android Studio:
- Open Android Studio
- Select "Open an existing project"
- Navigate to the cloned directory
-
Build and run:
# Build release APK (for production) ./gradlew assembleRelease # Build debug APK (for development) ./gradlew assembleDebug # Install on connected device/emulator adb install app/build/outputs/apk/release/app-release.apk
- Create a Firebase project at Firebase Console
- Add your Android app to the project
- Download
google-services.json
and place it in theapp/
directory - Enable Firestore Database in Firebase Console
Note: The google-services.json
file is gitignored for security. For local development, you need to add your own Firebase configuration file. For CI/CD builds to work with real Firebase, you need to set up a GitHub Secret.
To make your CI/CD builds work with real Firebase:
-
Copy your
google-services.json
content:cat app/google-services.json
-
Add GitHub Secret:
- Go to your GitHub repository
- Click Settings → Secrets and variables → Actions
- Click "New repository secret"
- Name:
GOOGLE_SERVICES_JSON
- Value: Paste the entire content of your
google-services.json
file - Click "Add secret"
-
Now your CI/CD builds will use real Firebase and the released APK will work properly!
- Language: Java
- UI Framework: Android Views with ViewBinding
- Architecture: MVVM (Model-View-ViewModel)
- Database: Firebase Firestore
- Navigation: Android Navigation Component
- Dependency Injection: Manual dependency injection
- Build System: Gradle with Kotlin DSL
app/
├── src/main/java/com/example/rummypulse/
│ ├── data/ # Data layer (Repository, Models)
│ ├── ui/ # UI layer (Fragments, ViewModels)
│ └── MainActivity.java
├── src/main/res/ # Resources (layouts, drawables, values)
└── build.gradle.kts # App-level build configuration
- GameRepository: Handles Firebase data operations
- HomeViewModel: Manages game data and business logic
- TableAdapter: RecyclerView adapter for game lists
- GameItem: Data model for game information
Screenshots will be added here showing the app's interface
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Debabrata Mandal
- GitHub: @debabrata-mandal
- Email: debabrata.developer@gmail.com
- Material Design Components for beautiful UI
- Firebase for backend services
- Android team for excellent development tools
- Open source community for inspiration
Made with ❤️ for Rummy enthusiasts