Skip to content

Latest commit

 

History

History
100 lines (63 loc) · 3.79 KB

README.md

File metadata and controls

100 lines (63 loc) · 3.79 KB

Real-Estate-App

This app was created as a challenge to show my skills as a mobile developer by creating a Real Estate App using Kotlin, MVVM, Coroutines, Hilt, Room, Retrofit, Google Maps and more.

The Challenge

The challenge was to create an app that shows a list of houses and their details, learn how to use the repository pattern, API calls, room, database, google maps and more.

Requirements

Minimum SDK 24 (Android 7.0 Nougat).

Screenshots

Usage

The app has the following screens:

  • Splash Screen
  • List of Houses (With searchbar, searching by Postal Code or City)
  • Detailed House
  • About

(See screenshots above)

Installation & Guidelines

This app has been tested in a Pixel 3XL, to take in consideration the screen size and the density.

  1. Clone this repository and open it in Android Studio.

    • To use the app with location services, you need to have a Google Maps API key. You can get yours here.
  2. Create the gradle.properties file in this path XMLRealEstate/ and add the following lines like this example below:

    android.useAndroidX=true

    android.enableJetifier=true

    GOOGLE_MAPS_API_KEY= "YOUR_API_KEY"

    Note that the app will not work if you don't add the properties described above with a valid Maps API key.

  3. To build and run the app.

    • To use it with location, accept the location permission.

    • This app can be used without location, but the distance shown will be "N/A".

Code Usage & Instructions

If you want to know the different usage of code in the app, you can check the comments in the code.

Architecture

App is based on MVVM architecture and a repository pattern.

The app has a single activity with multiple fragments.

The app uses the Navigation Component to handle navigation between fragments.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change or any suggestions you have.

License

License: GPL v3

Author

Juan Riquelme

Libraries

All the libraries used in this project are listed in the build.gradle file, indicating it usage in the app and the version.