Your Gateway to Effortless House Hunting and Renting in Nairobi!
Column 1 | Column 2 | Column 3 | Column 4 |
---|---|---|---|
- Property Listings: View properties available for rent or sale with detailed information.
- Search Functionality: Search for properties based on location, type, and other criteria.
- Interactive Map: Display properties on a map with geofencing for specific areas.
- Property Details: View comprehensive details about each property including amenities and agent contact information.
- Bookmarking: Save favorite properties for easy access later.
- Offline Access: Access saved properties without an internet connection.
- Animations: Smooth and engaging animations for UI transitions.
- Categorization: Filter properties based on categories such as apartments, villas, bungalows, and bedsitters.
- Firebase Integration: Real-time data synchronization using Firebase Realtime Database.
- Authentication: Secure user authentication with Firebase.
- Data Filtering: Efficient filtering of property listings to exclude deleted or null entries.
- Custom Animations: Use of built-in and custom animations to enhance user experience.
- Geofencing: Define and highlight specific geographic areas on the map.
- Agent Contact: Get in touch with property agents.
- Amenities Grouping: Group amenities within each property object, with randomization for certain amenities.
- Android Development
- Kotlin Programming
- Jetpack Compose
- UI/UX Design
- Firebase Integration
- Geolocation and Mapping
- JSON Parsing
- MVVM Architecture
- Dependency Injection
- Android Studio: Primary IDE for development.
- Kotlin: Programming language for Android development.
- Jetpack Compose: Modern toolkit for building native UI.
- Firebase: Backend platform for real-time database and authentication.
- Gson: Library for JSON parsing.
- Hilt: Dependency injection library.
- Google Maps SDK: For displaying maps and geofencing.
- Room: Persistence library for local storage.
- Coil: Image loading library.
- MVVM Architecture: For a clean separation of concerns and easier testing.
- Jetpack Compose: For building native UIs with less code and powerful tools.
- Firebase Realtime Database: For real-time data synchronization.
- Google Maps SDK: For geolocation and mapping functionalities.
- Room Database: For offline storage and caching.
- Kotlin Coroutines For simplified asynchronous programming and concurrency.
- Dependency Injection with Hilt: For better code maintainability and testability.
- Material Design: For modern and consistent UI/UX components.
- Clone the repository to your local machine
- git clone https://github.com/mkaocodes/Hao-Fiti.git
- Open the project in Android Studio.
- Add the
google-services.json
file to theapp
directory. - Follow Firebase setup instructions for Android here.
- Ensure all dependencies are installed and synced.
- Run the project on an emulator or a physical device.
- Search Properties: Use the search bar to find properties based on your criteria.
- View Property Details: Click on a property to see detailed information.
- Bookmark Properties: Click the bookmark icon to save properties for later.
- View Bookmarked Properties: Navigate to the bookmarks section to see saved properties.
- Use the Map: View properties on the map and interact with geofenced areas.
- Schedule Appointments Schedule Appointments with agents.
- Chat or Calls with Agent via App Intiate chat with agent or make a call.
Contributions are welcome! Please open an issue or submit a pull request.