A beautiful and interactive Flutter app that allows users to explore, adopt, and favorite adorable pets. Built with clean architecture, Riverpod for state management, and Firestore as backend β the app supports theming, pagination, offline caching, animations, and more!
| Platform | Link |
|---|---|
| π Web App | pet-adopt-adarsh-pasho.web.app |
| π± Android APK | Download APK |
- β Displays a list of pets
- β Includes a search bar (search by name)
- β Filters by category (Dog, Cat, All)
- β Pagination supported (Firestore cursor-based)
- β Pull-to-refresh
- β Hero animation for image transitions
- β Offline support with Firestore local caching
- β Displays petβs name, age, price, and image
- β Interactive image viewer with pinch-to-zoom
- β βAdopt Meβ button with popup confirmation
- β Confetti animation on successful adoption
- β Greyed-out UI for adopted pets
- β Persistent adoption status across launches
- β Shows a chronological list of adopted pets
- β Clear and minimal timeline-style display
- β Users can favorite/unfavorite pets
- β Favorite status persists across sessions
- β Clean list layout
| Feature | Status |
|---|---|
| Hero Animation (List β Detail) | β Done |
| Attractive & Responsive UI | β Done |
| Dark Mode Support | β Done |
| State Management with Riverpod | β Done |
| SharedPreferences Persistence | β Done |
| Offline Firestore Cache | β Done |
- MVVM Structure
- Riverpod for clean state management
- Firestore as database
- Exception-safe repository pattern
- Models using
.fromJson()and.toJson() - SOLID and Clean Code principles
| Test Type | Status |
|---|---|
| β Unit Tests | βοΈ Done |
| β Widget Tests | βοΈ Done |
| π Integration | Optional |
- Flutter (Stable)
- Riverpod
- Cloud Firestore
- SharedPreferences
- Confetti Package
- CachedNetworkImage
- Hero Animations
- Pull-to-Refresh
- Interactive Viewer
Adarsh A. (ADX)
Flutter Developer | UI/UX Enthusiast
π§ sharanya.nambiar@posha.com
βAdopt a pet. Save a soul. Share a smile.β πΆπ±