Skip to content

Latest commit

 

History

History
162 lines (114 loc) · 5.11 KB

File metadata and controls

162 lines (114 loc) · 5.11 KB

🐾 Tailmate – Pet Adoption App (Flutter + Web)

Tailmate is a cross-platform Flutter application that helps users discover and adopt pets. It offers a clean, responsive UI for both mobile and web platforms, with features like pet listing, pet details, favorites, and image handling.


✨ Features

  • 🐾 View a list of pets with images, age, and price.
  • ❤️ Mark pets as favorite for easy tracking.
  • 📄 View detailed information about each pet with a clean UI.
  • 🌐 Responsive design optimized for both mobile and web platforms.
  • ⚙️ Hosted API on Vercel with mock JSON data for quick access.
  • 🧩 Smooth Hero animations and custom card clipping for a polished feel.
  • 🔐 CORS-enabled API integration to support Flutter Web.
  • 💾 Efficient caching using Hive: pet data and images are stored locally to reduce API calls.
  • 🔄 Pull-to-refresh feature to manually update data from the API.

📸 Screenshots

🏠 Home Page

Light Mode Dark Mode
Home Light Home Dark

🏠 Home Page Category

Light Mode Dark Mode
Home Category Light Home Category Dark

🔍 Search Page

Light Mode Dark Mode
Search Light Search Dark

📋 Search Results Filter

Light Mode Dark Mode
Search Result Light Search Result Dark

📋 Search Results

Light Mode Dark Mode
Search Result Filter Light Search Result Dark

📂 Drawer

Light Mode Dark Mode
Drawer Light Drawer Dark

❤️ Favorites Page

Light Mode Dark Mode
Favorites Light Favorites Dark

🕓 Filter History

Light Mode Dark Mode
Filter History Light Filter History Dark

📄 Details Page

Light Mode Dark Mode
Details Light Details Dark

🎉 Adoption Success

Light Mode Dark Mode
Details Light Details Dark

🌐 Live Web Demo

👉 Try the Web App (Hosted on Vercel)


📦 APK & Code


🛠️ Tech Stack

  • Frontend: Flutter (Dart)
  • Backend: Node.js (Vercel Serverless Functions)
  • State Management: flutter_bloc
  • Hosting: Vercel (API & Web)
  • Storage: JSON file-based mock data

🗂️ Folder Structure

    
tailmate/
│
├── lib/
│ ├── cubits/
│ ├── models/
│ ├── screens/
│ └── widgets/
├── build/web/ # Web output folder (for hosting)
├── api/ # Vercel serverless backend
├── data/pets.json # Mock pet data
├── pubspec.yaml
└── README.md
    

🧪 Run Locally

# Clone the repo
git clone https://github.com/yourusername/tailmate.git
cd tailmate

# Get dependencies
flutter pub get

# Run on Android
flutter run

# Run on Web
flutter run -d chrome

# Build for Web
flutter build web

☁️ Deployment Notes

  • Only the build/web folder is deployed to Vercel due to the 100MB limit.
  • Backend API is hosted via Vercel serverless functions inside /api.
  • A vercel.json is used to route API requests properly.

🙏 Acknowledgements

Thanks to Posha for the opportunity and for providing the assessment prompt. Built with ❤️ by Ashutosh Mishra.


📧 Contact