A modern Android application that displays real estate listings and their details, built with 100% Kotlin.
This Android application provides users with a streamlined interface to browse real estate listings and view detailed information about each property. The app demonstrates modern Android development practices, clean architecture principles, and effective use of the latest Android technologies.
-
Listing Screen
- Displays a scrollable list of real estate properties
- Clean and intuitive user interface
- Smooth loading and error handling
-
Details Screen
- Comprehensive property information
- Smooth navigation back to listing
- MVVM (Model-View-ViewModel) architecture pattern
- Clean Architecture principles
- Repository pattern for data management
- Navigation Compose
- Language: 100% Kotlin
- UI: Jetpack Compose
- Dependency Injection: Hilt
- Networking: Retrofit + OkHttp
- Asynchronous Programming: Kotlin Coroutines + Flow
- Image Loading: Coil
- Navigation: Jetpack Navigation Compose
- Testing: JUnit4, Mockito, Compose UI Test
- Listings:
https://gsl-apps-technical-test.dignp.com/listings.json
- Details:
https://gsl-apps-technical-test.dignp.com/listings/{listingId}.json
- Clone the repository
git clone https://github.com/renaudfavier/AvivHomeProject
-
Open the project in Android Studio
-
Make sure it correctly created
local.properties
directing to your Android SDK, you will need version 35 -
Build and run the project
./gradlew build
Execute the following commands to run tests:
# Unit tests
./gradlew test
# Instrumentation tests
./gradlew connectedAndroidTest
core/
├── data/
├── di/
├── presentation/
│ ├── component/
│ └── util/
└── ui/
└── theme/
property/
├── data/
│ ├── di/
│ ├── mapper/
│ ├── model/
│ └── network/
├── domain/
│ └── model/
└── presentation/
├── component/
├── detail/
└── list/
Renaud Favier - [email protected]