Your Gateway to Effortless House Hunting and Renting in Nairobi!
Coolum 1 | Coolum 2 | Coolum 3 | Coolum 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.
- Kotlin: Primary language for Android development.
- Android Studio: Integrated Development Environment (IDE) for Android development.
- Jetpack Compose: Modern toolkit for building native UI in a declarative way.
- Android KTX: Provides concise, idiomatic Kotlin extensions to Jetpack and Android platform APIs.
- AndroidX: Major improvement to the original Android Support Library, providing backward compatibility and other features.
- Material Library: Modular and customizable Material Design UI components for Android.
- Lifecycle: Lifecycle-aware components that help manage UI-related data and respond to changes in lifecycle status.
- ViewModel: Manages UI-related data in a lifecycle-conscious way.
- LiveData: Lifecycle-aware data holder with an observer pattern.
- Room Database: Abstraction layer over SQLite to allow fluent database access while harnessing the full power of SQLite.
- Navigation Components: Helps implement navigation within your app, from simple button clicks to more complex patterns.
- Kotlin Coroutines: Concurrency design pattern that simplifies asynchronous code execution.
- Kotlin Flows: A reactive streams API in Kotlin, used to handle streams of data asynchronously.
- WorkManager: API for deferrable background work that needs guaranteed execution.
- Hilt: Dependency injection library that simplifies the process of manual dependency injection.
- Gson: Library for converting Java Objects into JSON and vice versa.
- Coil: Fast and lightweight image loading library for Android.
- Firebase: Backend platform offering services such as real-time database, authentication, and cloud storage.
- Timber: Extensible logging library for Android.
- Notifications: Components for creating and managing notifications in Android apps.
- Google Maps SDK: SDK for integrating maps and location services into Android apps.
- GitHub Actions: Automation platform for CI/CD, enabling you to build, test, and deploy code directly from GitHub.
- Android Development
- Kotlin Programming
- Jetpack Compose
- UI/UX Design
- Firebase Integration
- Geolocation and Mapping
- JSON Parsing
- MVVM Architecture
- Dependency Injection
- 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.