Skip to content

Kishan8548/DropZone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DropZone Banner

DropZone

Your smart hub for lost and found items.

Android Kotlin Firebase Gemini Cloudinary Min SDK


DropZone is a modern Android app for reporting lost and found items. Users can create posts with item details, browse recent reports, contact the poster by email, and manage their own posts. The app uses Google Gemini AI to intelligently suggest similar found posts when someone creates a lost-item post, ensuring reunited belongings faster than ever.


Screenshots

Core Experience

Create Post Post Details Profile

Alerts

Notification

Demo Video

Screenrecorder-2025-08-30-00-12-26-996.mp4

Features

AI-Powered Suggestions

  • When a user creates a Lost post, the app checks recent Found posts
  • Uses Google Gemini API to identify likely matches based on category and keywords
  • Users see intelligent suggested posts before finalizing their report

Smart Post Management

  • Create lost and found posts with title, description, category, optional location, and image
  • Images uploaded directly to Cloudinary and compressed locally for optimized delivery
  • Text details remain securely stored in Firebase Firestore

Rich Home Feed & Details

  • Home feed loads posts from Firestore in reverse chronological order
  • Filter by All, Lost, and Found
  • Dedicated detail page showing full item information and image
  • Contact the poster directly through email from the app

User Profile & Interaction

  • View account info and manage own posts from the profile screen
  • Delete posts you created easily
  • Push notifications integrated via Firebase Cloud Messaging

Donation & UI Polish

  • Donation screen that opens UPI-enabled apps (PhonePe, Paytm, Google Pay) via intents
  • Animated splash screen experience
  • Full support for dark mode

Tech Stack

  • Language: Kotlin
  • Framework: Android SDK / AndroidX
  • Backend: Firebase Authentication, Cloud Firestore, Cloud Messaging, Crashlytics
  • Cloud Storage: Cloudinary
  • AI Integration: Google Gemini API
  • Networking: Retrofit + Gson
  • Image Loading: Glide
  • UI Components: RecyclerView, CircleImageView, Splash Screen API

Data Storage

  • Firestore stores: Post title, description, category, location, status, user details, image URL, and Cloudinary image public ID.
  • Cloudinary stores: Image files only.
  • Note: Old posts that already contain Firebase Storage image URLs in Firestore will still display correctly because the app loads images from the stored imageUrl, regardless of whether that URL points to Firebase Storage or Cloudinary.

Local Setup

  1. Clone the repository.
  2. Open the project in Android Studio.
  3. Add the required keys to local.properties.
  4. Sync Gradle.
  5. Run the app on an emulator or Android device.

Example local.properties entries:

sdk.dir=YOUR_ANDROID_SDK_PATH
GEMINI_API_KEY=your_gemini_api_key
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_UPLOAD_PRESET=your_unsigned_upload_preset

Note:

  • local.properties is gitignored and should not be committed.
  • The current app upload flow expects an unsigned Cloudinary upload preset.
  • Cloudinary API secrets should not be shipped inside a production Android app.

Build

To verify the Kotlin source compiles:

./gradlew :app:compileDebugKotlin

On Windows:

.\gradlew.bat :app:compileDebugKotlin

Future Improvements

  • Migrate old Firebase Storage images to Cloudinary
  • Add secure server-side Cloudinary deletion
  • Improve search and matching beyond category and keyword shortlist
  • Add richer notification workflows for possible matches

About

DropZone is an Android application designed to simplify the process of reporting and recovering lost items

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages