GasGuru is an app to check fuel prices at all gas stations in Spain
To analyze the code with Detekt and check for code style and potential issues, run:
./gradlew codeCheck| Topic | Description |
|---|---|
| Adding Fuel Types | Guide for adding new fuel types |
| CI/CD | Continuous integration and deployment |
| GitFlow | Git workflow and branching strategy |
| JaCoCo | Code coverage reports |
| Navigation | Navigation architecture |
| Obfuscation | Code obfuscation configuration |
| Price Alerts | Price alert functionality |
| Recomposition Optimizations | Compose recomposition best practices |
| Testing | Testing strategy and guidelines |
| UI Mappers | UI mapper architecture |
- JDK 17
- Android SDK and ADB configured
- Android Emulator (API 34 recommended)
- Create a
local.propertiesfile at the root of the project with the following content:
googleApiKey=YOUR_GOOGLE_MAPS_API_KEY
googleStyleId=YOUR_GOOGLE_STYLE_MAP_ID
storePassword=YOUR_KEYSTORE_PASSWORD
keyAlias=YOUR_KEYSTORE_ALIAS
keyPassword=YOUR_KEY_PASSWORD- Place your
google-services.jsonfile atapp/google-services.json.
Install Maestro Mobile
curl -Ls "https://get.maestro.mobile.dev" | bash
export PATH="$HOME/.maestro/bin:$PATH"- Start an Android Emulator:
$ANDROID_HOME/emulator/emulator -avd <emulator_name> -no-snapshot-save -no-window -no-boot-anim- Run instrumented test (Compose):
./gradlew connectedCheck- Build the debug APK:
./gradlew assembleProdDebug- Install APK on the emulator:
adb install app/build/outputs/apk/debug/app-prod-debug.apk- Execute the E2E test with Maestro:
# Debug/mock build (local development)
maestro test --env APP_ID=com.gasguru.mock.debug .maestro/config.yaml
# Production build
maestro test --env APP_ID=com.gasguru .maestro/config.yaml
# Record test in local
maestro record --env APP_ID=com.gasguru.mock.debug --local config.yaml