Android app built with Kotlin, Jetpack Compose, Room, Hilt, and WorkManager.
Petit is a multi-pet health tracker — track weight, vaccinations, deworming, and reminders for cats, dogs, rabbits, birds, fish, and more.
- Product specifications
- Product requirements
- App architecture
- Data modeling
- Testing guide
- Accessibility testing guide (TalkBack)
- Design system
- Public release/compliance checklist
- Android release automation
- Google Drive Cloud Console setup runbook
Pick the setup that matches your editor:
- VS Code setup — uses the JetBrains Kotlin LSP + workspace tasks
- Android Studio setup
- Android CLI development reference — SDK, emulator, deeper CLI tooling
Quick commands:
./gradlew assembleDebug && ./gradlew installDebug./gradlew test./gradlew spotlessCheck
Android alpha releases use the same Fastlane lanes locally and in the manual GitHub Actions workflow:
bundle install
bundle exec fastlane android build_release
bundle exec fastlane android validate_alpha
bundle exec fastlane android deploy_alphaThe validation and deployment lanes require separately configured Google Play credentials. Deployment is fixed to the alpha track and never changes the app version automatically. See the release automation runbook for signing, metadata, Google Cloud, GitHub Environment, OIDC, validation, and rollback procedures.
- License
- NOTICE
- Code of Conduct
- Contributing
- Security
- Trademark policy
- Code owners
- Issue templates
- Pull request template
- Dependabot config
This repository is 100% open source:
- Code license: GNU AGPL-3.0.
- You can use, modify, and self-host the project under AGPL terms.
Commercial distribution and use of original brand assets are not allowed without explicit authorization.
For any distributed binary build (APK/AAB), users must have clear access to the corresponding source code.
- Official source repository: this repository
- Preferred reference for releases: corresponding Git tag/commit hash
- If a network-deployed version is modified, make the corresponding source code publicly accessible under AGPL terms