AutoMarket is a Flutter‑based mobile client that receives instant push notifications about newly listed mobile phones from Facebook Marketplace (Nepal).
It works seamlessly with the AutoMarket backend – displaying deals with photos, price, location, and a direct link to the original listing.
The app registers your device token to Firestore, so the backend knows exactly where to send alerts – even when the app is closed.
- Framework: Flutter (Dart)
- Backend Services: Firebase Firestore, Firebase Cloud Messaging (FCM)
- Image Hosting: Cloudinary (optimised URLs)
- State Management: StreamBuilder + real‑time Firestore listeners
- Platforms: Android (min SDK 23), iOS (13+)
- Authentication (optional): Gmail API / Firebase Auth
Diagram: Backend → FCM → Mobile device → Firestore read
- Backend scraper finds a new deal → uploads image to Cloudinary
- Backend writes listing to Firestore (
listingscollection) - Backend sends FCM message with visible notification payload
- Mobile app shows notification (even if terminated)
- On tap, app opens and reads fresh deal data from Firestore
- Deliver instant, visible alerts – users never miss a good deal, even when the app is closed
- Provide a clean deal feed – real‑time Firestore sync with optimised Cloudinary images
- Simplify token management – automatically register and update FCM tokens in Firestore for backend broadcasting
- 🔔 Push notifications – Android & iOS, appears on lock screen / notification shade
- 📱 Deal browser – sorted by newest, with photo, price, location, and direct Marketplace link
- 🔥 Real‑time Firestore – new deals appear instantly without manual refresh
- 🖼️ Cloudinary image optimisation – fast loading even on slow networks
- 🔄 Auto token registration – device FCM token saved to
devicescollection on launch - 🧹 Expired deal cleanup – deals older than 30 days are automatically hidden (backend removes them)
- 🎯 Filtered scope – only iPhones (X to 16 Pro) and Android phones (Samsung, Pixel, OnePlus, etc.)
- Flutter 3.22+ & Dart 3.4+
- Firebase project with Firestore, FCM enabled
- For iOS: Apple Developer account + physical device
git clone https://github.com/your-org/automarket-flutter.git
cd automarket-flutter
flutter pub get.jpg)