Skip to content

the-caffeinated-coder/client-whack-a-mole

Repository files navigation

Client Whack-a-Mole - Android App

A fun, satirical game for freelancers and business owners about identifying bad clients!

About

Client Whack-a-Mole tests your ability to spot red flags and dismiss problematic client requests while appreciating good professional clients. Perfect for anyone in the service industry.

Features

  • Click bad clients (brown moles) with terrible requests
  • Avoid good clients (green moles) who are professional
  • Watch out for trap faces that cost you lives
  • Progressive difficulty with 4 levels
  • 3-strike rule keeps you on your toes

Building the APK

Prerequisites

  • Android Studio or Android SDK tools
  • JDK 8 or higher
  • Gradle 8.0+

Build Instructions

  1. Using Android Studio:

    • Open Android Studio
    • Select "Open an existing project"
    • Navigate to this directory
    • Let Android Studio sync Gradle
    • Build > Build Bundle(s) / APK(s) > Build APK(s)
  2. Using Command Line:

    # Build debug APK
    ./gradlew assembleDebug
    
    # Build release APK (unsigned)
    ./gradlew assembleRelease
  3. Find your APK:

    • Debug: app/build/outputs/apk/debug/app-debug.apk
    • Release: app/build/outputs/apk/release/app-release-unsigned.apk

Signing the Release APK

For F-Droid submission, you'll need to sign your APK:

  1. Generate a keystore:

    keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias
  2. Sign the APK:

    jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore my-release-key.jks app/build/outputs/apk/release/app-release-unsigned.apk my-key-alias
  3. Align the APK:

    zipalign -v 4 app/build/outputs/apk/release/app-release-unsigned.apk client-whack-a-mole.apk

Submitting to F-Droid

Prerequisites for F-Droid

  1. Host your code on a public Git repository (GitHub, GitLab, etc.)
  2. Add a GPL-3.0 or compatible open-source license
  3. Ensure no proprietary dependencies or libraries

Submission Steps

  1. Prepare Your Repository:

    # Initialize git if not already done
    git init
    git add .
    git commit -m "Initial commit - Client Whack-a-Mole v1.0"
    
    # Create a tag for the version
    git tag -a v1.0 -m "Version 1.0"
    
    # Push to your remote repository
    git remote add origin https://github.com/yourusername/client-whack-a-mole.git
    git push -u origin main
    git push --tags
  2. Add GPL-3.0 License:

  3. Update metadata.yml:

    • Edit the metadata.yml file in this directory
    • Replace placeholder URLs with your actual repository URLs
    • Update contact information
  4. Submit to F-Droid:

    • Fork the F-Droid data repository: https://gitlab.com/fdroid/fdroiddata
    • Add your metadata.yml to metadata/com.refinedwebsolutions.clientwhackamole.yml
    • Create a merge request with your app metadata
    • F-Droid maintainers will review and build your app

Alternative: RFP (Request For Packaging)

If you prefer not to submit directly, you can request packaging:

Testing Before Submission

Test your APK thoroughly:

# Install on connected device/emulator
adb install app/build/outputs/apk/debug/app-debug.apk

# View logs
adb logcat | grep ClientWhackAMole

F-Droid Review Checklist

Before submitting, ensure:

  • Source code is publicly available
  • Open-source license (GPL-3.0) is included
  • No proprietary libraries or SDKs
  • No tracking or analytics
  • No ads
  • App builds reproducibly from source
  • metadata.yml is complete and accurate
  • Version tags match versionCode and versionName

Troubleshooting

Gradle Sync Issues

# Clear Gradle cache
./gradlew clean

# Or delete .gradle directory
rm -rf .gradle/

WebView Not Loading

  • Ensure index.html is in app/src/main/assets/
  • Check Android permissions in AndroidManifest.xml
  • Test on different Android versions (minimum API 21)

License

This project is licensed under GPL-3.0-or-later. See LICENSE file for details.

Contact

Refined Web Solutions

Credits

Created by Charles / Refined Web Solutions

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published