GitHub App
Overview
This project aims to facilitate user searches by allowing them to input a username. Upon entering the desired username, the system displays a list of users containing or matching the input. Users can click on a specific entry in the list to view the repository information associated with that users in a web view.
What I learned
- Retrofit
- GitHub Open API
- RecyclerView using ListAdpater
- Handler
- Recycler's item selecting animation
Key Functions
To enhance the user experience and prevent exceeding the API call limit per minute, the following features were implemented:
- Debouncing applied to the EditText's addTextChangedListener using a Handler to prevent exceeding the API call limit per minute.
- When updating RecyclerView data with a scroll Listener, there was a issue of multiple API calls, which I resolved by implementing the isLoading status.
- Created Data Transfer Object(DTO) for efficient utilization of API data.
Troubleshooting
RecyclerView Pagination Issue
Error: Page jumps occurred only during the second API call when loading the next page.
Action: The page value was being sent to the API service as a query parameter, initialized to 0; however, it should have started from 1.