An android application which uses Product API and Review API for listing products and reviews.
Clone the following repository for docker environment that you can run in your machine.
git clone https://bitbucket.org/adichallenge/product-reviews-docker-composer.git
Next thing is to run the composer. This is going to run on your computer a few services that you query using REST API.
docker-compose up
- Change PRODUCT_API_URL and REVIEW_API_URL with your current IP Address.
- Also add your IP address to the network_security_config.xml file.
- Make sure there is no duplicate item (same product id) in the Product API database.
- Product API: http://localhost:3001/api-docs/swagger/
- Review API: http://localhost:3002/api/
- Product Features (Filtering, Listing, Adding, Editing, Deleting)
- Review Features (Listing, Adding)
- Offline Capability
- Pull to Refresh
- Unit Tests
- Kotlin - Officially supported programming language for Android development by Google
- Kotlin DSL - Alternative syntax to the Groovy DSL
- Coroutines - Perform asynchronous operations
- Flow - Handle the stream of data asynchronously
- Android Architecture Components
- LiveData - Notify views about data changes
- Room - Persistence library
- ViewModel - UI related data holder
- ViewBinding - Allows to more easily write code that interacts with views
- Hilt - Dependency Injection framework
- Retrofit - Networking library
- Moshi - A modern JSON library for Kotlin and Java
- The project uses MockWebServer (scriptable web server) to test Product API and Review API interactions.