A comprehensive real estate application developed in Java using Android Studio that provides property listing, user authentication, and property management features. The app integrates with Firebase for authentication, database storage, and cloud functions.
- User Authentication: Secure login and signup using Firebase Authentication
- Property Management:
- Add new property listings with detailed information
- View property details with images
- Mark properties as favorites
- Data Integration:
- Fetch and parse online property data via JSON API
- Store property data in Firebase Realtime Database
- User Experience:
- Intuitive bottom navigation
- Responsive UI with smooth transitions
- Loading indicators for network operations
commoner02-real-estate-app/
├── app/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/com/example/realestateapp/
│ │ │ │ ├── adapters/ # RecyclerView adapters
│ │ │ │ ├── fragments/ # UI fragments
│ │ │ │ ├── listeners/ # Event listeners
│ │ │ │ ├── models/ # Data models
│ │ │ │ ├── network/ # API service interfaces
│ │ │ │ ├── screens/ # Activity classes
│ │ │ │ ├── utils/ # Utility classes
│ │ │ │ └── MainActivity.java # Entry point
│ │ │ └── res/ # All resources (layouts, drawables, etc.)
│ └── build.gradle.kts # App-level dependencies
├── build.gradle.kts # Project-level configuration
└── google-services.json # Firebase configuration
- Firebase (Authentication, Realtime Database, Firestore, Storage)
- Retrofit (for API calls)
- Glide (for image loading)
- Volley (for network requests)
- Material Components (for UI elements)
- Clone the repository:
git clone https://github.com/commoner02/Real-Estate-App.git
- Open the project in Android Studio
- Add your Firebase configuration files:
- Place
google-services.jsonin both project root and app/ directories
- Place
- Sync Gradle dependencies
- Build and run the app
- Set up Firebase project:
- Enable Authentication (Email/Password)
- Enable Realtime Database
- Configure security rules as needed
- Update API endpoints in
PropertyService.javaif needed
-
Authentication:
- Users can register or login using email/password
- Password recovery available
-
Property Management:
- Add new properties with details and images
- Browse properties from local database or online API
- Mark properties as favorites
-
Navigation:
- Bottom navigation between Home, Favorites, and Account sections
- Follows Android best practices
- Proper separation of concerns (models, views, controllers)
- Uses modern Android architecture components
- Includes error handling and loading states
(Will add later)
MIT License - See LICENSE file for details.
Contributions are welcome! Please fork the repository and submit pull requests.
For issues or questions, please open an issue on the GitHub repository.