A comprehensive pet care management application built with Flutter.
- Pet profile management
- Vaccination tracking
- Appointment scheduling
- Feeding management
- Activity tracking
- Playdate organizing
- Reminders
This project uses GitHub Actions for Continuous Integration and APK Distribution:
-
Flutter CI: Runs on every push to master and pull request. Performs code formatting checks, static analysis, runs tests, and builds debug and release APKs as artifacts.
-
APK Distribution: Builds, signs, and distributes APKs. Can be triggered manually or automatically when releases are created.
-
Build APK on Demand: Allows building debug or release APKs for any branch on demand, with optional GitHub release creation.
-
Clone the repository
git clone https://github.com/Sanuka23/pet_care.git cd pet_care -
Install dependencies
flutter pub get -
Run the app
flutter run
flutter build apk --debug
flutter build apk --release
To build APKs without setting up a local development environment:
- Go to the Actions tab in the GitHub repository
- Select "Build APK on Demand" workflow
- Click "Run workflow"
- Select the branch and build type
- Once complete, download the APK artifact
For the APK Distribution workflow to function properly, add these secrets to your GitHub repository:
SIGNING_KEY: Base64 encoded signing keyKEY_ALIAS: Key alias for the signing keyKEY_STORE_PASSWORD: Password for the keystoreKEY_PASSWORD: Password for the keySERVICE_ACCOUNT_JSON: Google Play service account JSON for publishing
Generate a keystore for signing your app:
keytool -genkey -v -keystore pet_care.keystore -alias pet_care -keyalg RSA -keysize 2048 -validity 10000
To convert keystore to base64 for GitHub secrets:
base64 pet_care.keystore | pbcopy
This will copy the base64 encoded keystore to your clipboard for pasting into GitHub secrets.