Skip to content

Latest commit

Β 

History

History
154 lines (123 loc) Β· 5.52 KB

File metadata and controls

154 lines (123 loc) Β· 5.52 KB

🐾 Pet Adoption App

A modern Flutter app that helps users discover and adopt pets from nearby shelters, connect with a pet-loving community, and share stories. Built with Firebase, GetX, and a polished onboarding experience, this app empowers users to browse, filter, favorite, adopt animals, and engage socially β€” all from their phone.


✨ Key Features

Feature Description
🟒 Splash Screen Clean app launcher with initial setup
πŸ“± Onboarding + Auth Firebase login, signup, and onboarding flow
πŸ” Authentication Email/Password and Google Sign-In via Firebase
🐢 Pet Listings Browse pets with real images, filters, and shelter info
❀️ Favorites Save favorite pets for later
πŸ“ Add a Pet Post a new pet for adoption with images
🧠 Real-Time Updates Firestore updates reflect live across the app
πŸ›οΈ Bottom Navigation Animated notch bottom bar for modern navigation
πŸ‘€ User Profile Edit user info, view saved pets, and more
πŸŒ— Dark & Light Theme Adaptive themes based on system preferences
🎨 Clean UI Modern, minimal, pet-friendly design
⚑ Fast UX Built using GetX for reactive, performant state management
πŸ“Έ Community Page Share pet stories, post media, like/comment, follow users
πŸ”” Push Notifications Get notified about new pets, community posts, and interactions

🧱 Tech Stack

Technology Purpose
Flutter App development framework
Firebase Backend (Auth, Firestore, Storage, Cloud Messaging)
GetX State management and routing
animated_notch_bottom_bar Animated bottom navigation
Iconsax Icon set for modern UI
Carousel Slider Show pet images in carousels
CachedNetworkImage Optimized image caching/loading

πŸ“Έ Community Features

Feature Description
Post Creation Upload pet photos/videos with captions and tags
Reactions Like and comment on posts
Follow System Follow/unfollow users to personalize your feed
Explore Feed Discover trending pet stories and adoption updates
Real-Time Updates Posts, likes, and comments appear instantly via Firestore

🧹 Folder Structure

lib/
β”œβ”€β”€ core/               # Global constants, themes, colors
β”œβ”€β”€ controllers/        # GetX Controllers for all screens
β”œβ”€β”€ models/             # Data models (User, Pet, Post, etc.)
β”œβ”€β”€ views/              # UI screens
β”‚   β”œβ”€β”€ home/
β”‚   β”œβ”€β”€ category/
β”‚   β”œβ”€β”€ community/
β”‚   β”œβ”€β”€ profile/
β”œβ”€β”€ widgets/            # Reusable widgets
β”œβ”€β”€ firebase_options.dart
└── main.dart

🎨 Design System

class MyColors {
  static const Color primaryColor = Color(0xFFFFA726);
  static const Color secondaryColor = Color(0xFF81D4FA);
  static const Color accent = Color(0xFFAED581);
  static const Color darker = Color(0xFF616161);
  static const Color buttonDark = Color(0xFF4F4F4F);
  static const Color buttonLight = Color(0xFFF4F4F4);
  static const Color selectedButton = Color(0xFFCE93D8);
}

Fonts: GoogleFonts + System fonts. Consistent text hierarchy via ThemeData.


πŸš€ Getting Started

  1. Clone the Repo
git clone https://github.com/your-username/pet_adoption_app.git
cd pet_adoption_app
flutter pub get
  1. Set up Firebase

    • Add your google-services.json and GoogleService-Info.plist
    • Enable Email/Password and Google Sign-In in Firebase Auth
    • Set up Firestore DB and Storage
    • Configure Firebase Cloud Messaging for push notifications

πŸ“¦ Dependencies

dependencies:
  animated_notch_bottom_bar: ^1.0.3
  build_runner: ^2.6.0
  carousel_slider: ^5.1.1
  cloud_firestore: ^6.0.0
  connectivity_plus: ^6.1.4
  cupertino_icons: ^1.0.8
  equatable: ^2.0.7
  firebase_auth: ^6.0.0
  firebase_cloud_messaging_flutter: ^1.0.6
  firebase_core: ^4.0.0
  flutter:
    sdk: flutter
  flutter_local_notifications: ^19.4.0
  firebase_messaging: ^16.0.0
  flutter_native_splash: ^2.4.6
  flutter_staggered_grid_view: ^0.7.0
  get: ^4.7.2
  get_storage: ^2.1.1
  getx_test: ^1.0.3
  google_fonts: ^6.3.0
  google_sign_in: ^6.2.2
  iconsax: ^0.0.8
  intl: ^0.20.2
  logger: ^2.6.1
  lottie: ^3.3.1
  shimmer: ^3.0.0
  supabase: ^2.8.0
  supabase_flutter: ^2.9.1
  url_launcher: ^6.3.2
  uuid: ^4.5.1

πŸ’¬ Contributing

Open to suggestions and contributions! Please submit a PR or open an issue before major changes.


❀️ Made with Flutter β€” For pet lovers everywhere.