This Android application fetches product data from the Dummy JSON Products API and displays the products in a user-friendly interface. The application is built using Kotlin and Jetpack Compose.
- Fetches product data from the API
- Displays product information in a list
- Detailed view of each product
- Simple and clean UI using Jetpack Compose
These instructions will help you get a copy of the project up and running on your local machine for development and testing purposes.
- Android Studio (latest version recommended)
- Kotlin
- Internet connection (for fetching data from the API)
-
Clone the repository:
git clone https://github.com/Ahmed-P-Mostafa/routetask.git
-
Open the project in Android Studio:
- Open Android Studio
- Click on Open an existing project
- Select the cloned repository folder
- Build the project:
- Click on Build > Make Project or use the shortcut Ctrl+F9
- Run the application:
- Click on Run > Run 'app' or use the shortcut Shift+F10
- Select an emulator or connect your Android device
Once the application is running, it will automatically fetch the products from the API and display them in a list. Clicking on a product will navigate to a detailed view showing more information about the product.
The project follows a clean architecture approach with the following structure:
data
- Contains data models and API service definitions
repository
- Contains the repository that interacts with the API service
ui
- Contains UI components and screens using Jetpack Compose
viewmodel
- Contains ViewModel classes for managing UI-related data
-
Kotlin - Programming language
-
Jetpack Compose - UI toolkit
-
Retrofit - Type-safe HTTP client for Android
-
Hilt - Dependency injection library
Contributions are welcome! Please fork the repository and create a pull request with your changes.
-
Fork the repository
-
Create your feature branch:
git checkout -b feature/my-new-feature
-
Commit your changes:
git clone https://github.com/Ahmed-P-Mostafa/routetask.git
-
Push to the branch:
git push origin feature/my-new-feature
-
Create a new Pull Request