University Domains is a simple Android application for searching and exploring university domains. The app demonstrates modern Android development practices using Jetpack Compose, MVVM architecture, and various Android libraries.
This project uses the University Domains List API provided by Hipo. Currently, the app only supports universities in Indonesia.
Here are some screenshots of the application:
Home Screen | Search Screen | Favorite Screen |
---|---|---|
The project leverages the following endpoints from the University Domains List API:
Feature | API Endpoint |
---|---|
List Universities | /search?country=indonesia |
Search Universities | /search?name={query}&country=indonesia |
The project utilizes the following libraries and tools:
Library/Tool | Version & Link | Included |
---|---|---|
Kotlin | 2.0.20 | ✔️ |
Kotlin Coroutines | 1.9.0 | ✔️ |
Jetpack Compose | 2024.04.01 | ✔️ |
Retrofit | 2.11.0 | ✔️ |
OkHttp | 4.12.0 | ✔️ |
Room | 2.6.1 | ✔️ |
DataStore | 1.1.1 | ✔️ |
Hilt | 2.52 | ✔️ |
This project adheres to modern Android development practices:
- Architecture Pattern: MVVM (Model-View-ViewModel) for separation of concerns and scalability.
- Dependency Injection: Hilt for managing dependencies and improving testability.
- Offline Support: Room for local storage and offline capabilities.
- Error Handling: Graceful error handling for network and database operations.
- Testing:
- Unit Tests for validating business logic.
- UI Tests for user interaction using Jetpack Compose testing utilities.
- Git Workflow: Organized commits with meaningful messages for better collaboration.
- Design Guidelines: Compliant with Material Design for a polished user experience.
- Clone or download the source code.
- Open the project in Android Studio.
- Sync Gradle files to download dependencies.
- Run the app on an emulator or physical device with a minimum SDK of 26.
To run unit tests:
- Open the project in Android Studio.
- Navigate to the
test
directory. - Right-click and select Run 'Tests in ...'.
To run UI tests:
- Open the project in Android Studio.
- Navigate to the
androidTest
directory. - Right-click and select Run 'Tests in ...'.
- Ensure an emulator or physical device is running.
This project showcases clean architecture, testability, and adherence to Android development best practices. Currently, it focuses on universities in Indonesia, but it can be extended to support other countries in the future.