A modern Android application built with Kotlin for institute students to post and search for lost and found items. The app provides an intuitive interface for reporting lost items, posting found items, and connecting people to help recover their belongings.
- Quick access to lost and found items
- Recent item listings
- Navigation cards for different sections
- Floating action button for quick item posting
- Post Lost Items: Report items you've lost with detailed descriptions
- Post Found Items: Report items you've found to help others
- Image Upload: Add photos to help identify items
- Categories: Organize items by type (Electronics, Books, Clothing, etc.)
- Location Tracking: Specify where items were lost or found
- Lost Items Tab: Browse all reported lost items
- Found Items Tab: Browse all reported found items
- Item Details: Detailed view with contact information
- Mark as Resolved: Close cases when items are returned
- Contact Reporter: Direct email integration to contact item reporters
- Reporter Information: View who posted each item with contact details
- MVVM Pattern: Model-View-ViewModel architecture
- Room Database: Local SQLite database for offline functionality
- LiveData: Reactive data observation
- Navigation Component: Fragment-based navigation
- View Binding: Type-safe view references
- Android Studio Arctic Fox or later
- Kotlin 1.9.10+
- Android SDK 24+ (Android 7.0)
- Create a Firebase project at Firebase Console
- Enable Authentication (Google Sign-In)
- Enable Firestore Database
- Enable Firebase Storage
- Open Android Studio
- Import this project by opening the
LostAndFoundAppfolder - Sync project with Gradle files
- Build the project:
Build > Make Project - Run on device/emulator:
Run > Run 'app'
Run the setup script to automatically create configuration files:
Windows:
setup.batLinux/Mac:
./setup.shIf you prefer to set up manually, follow these steps:
-
Copy environment template:
cp .env.example .env cp app/google-services.json.example app/google-services.json
-
Update
.envfile with your Firebase credentials:- Get your project number from Firebase Console
- Get your project ID from Firebase Console
- Get your API keys from Firebase Console
- Get your OAuth client IDs from Firebase Console
-
Update
app/google-services.jsonwith your Firebase configuration:- Download the actual
google-services.jsonfrom Firebase Console - Replace the example file with your actual configuration
- Download the actual
-
Build and run the project:
./gradlew build
The following environment variables are required:
FIREBASE_PROJECT_NUMBER: Your Firebase project numberFIREBASE_PROJECT_ID: Your Firebase project IDFIREBASE_STORAGE_BUCKET: Your Firebase storage bucketFIREBASE_MOBILE_SDK_APP_ID: Your mobile SDK app IDFIREBASE_OAUTH_CLIENT_ID_ANDROID: Android OAuth client IDFIREBASE_OAUTH_CLIENT_ID_WEB: Web OAuth client IDFIREBASE_API_KEY: Your Firebase API keyFIREBASE_CRASH_REPORTING_API_KEY: Your crash reporting API keyFIREBASE_CERTIFICATE_HASH: Your certificate hash for Android OAuthANDROID_PACKAGE_NAME: Your Android package name
LostAndFoundApp/
├── build.gradle.kts
├── app/
│ ├── build.gradle.kts
│ └── src/main/
│ ├── AndroidManifest.xml
│ ├── java/com/institute/lostandfound/
│ │ ├── MainActivity.kt
│ │ ├── data/
│ │ │ ├── model/Item.kt
│ │ │ └── database/
│ │ │ ├── AppDatabase.kt
│ │ │ ├── ItemDao.kt
│ │ │ └── Converters.kt
│ │ ├── repository/ItemRepository.kt
│ │ ├── viewmodel/ItemViewModel.kt
│ │ ├── ui/
│ │ │ ├── HomeFragment.kt
│ │ │ ├── PostItemFragment.kt
│ │ │ ├── LostItemsFragment.kt
│ │ │ ├── FoundItemsFragment.kt
│ │ │ └── ItemDetailFragment.kt
│ │ └── adapter/ItemAdapter.kt
│ └── res/
│ ├── layout/
│ ├── navigation/
│ ├── menu/
│ ├── values/
│ ├── drawable/
│ └── xml/
└── README.md
- Open the app and tap "Post" in bottom navigation
- Fill in item details (title, description, category, type)
- Add location information
- Provide your contact details
- Optionally add a photo
- Tap "Post Item"
- Use "Lost" or "Found" tabs to browse specific types
- Tap on any item to view full details
- Use "Contact Reporter" to reach out via email
- Mark items as "Resolved" when returned
- ✅ Offline-first architecture with Room database
- ✅ Material Design UI with modern components
- ✅ Image handling with Glide
- ✅ Email integration for contacting reporters
- ✅ Category-based organization of items
- ✅ Status tracking (Active/Resolved)
- ✅ Navigation component for smooth app flow
- ✅ MVVM architecture with Repository pattern
- Electronics
- Books & Stationery
- Clothing & Accessories
- Personal Items
- Bags & Backpacks
- Jewelry
- Documents & Cards
- Keys
- Sports Equipment
- Other
This is a complete, production-ready Android application for managing lost and found items in educational institutions.