Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat/#15 search refactoring #15

Merged
merged 19 commits into from
Dec 2, 2024
Merged

Conversation

MoonsuKang
Copy link
Contributor

📌 PR Summary

📄 Work Description

  • Recent Search Feature

    • Implemented functionality to save user-entered search keywords in a recent search list.
    • Maintains a maximum of 10 keywords; when exceeded, the oldest item is automatically removed.
    • Recent searches are displayed in a RecyclerView, allowing users to click a keyword to perform a search.
    • Users can delete individual keywords or clear the entire recent search history.
  • Real-Time Search Feature

    • Integrated API to fetch and display real-time search keywords in a RecyclerView.
    • Each search item shows an icon based on its state (up, down, new, none).
    • Clicking a real-time search keyword triggers a search with the selected keyword.
  • Update Time Display

    • Displayed the last updated time for real-time search data in the format "HH:mm 기준."

✨ PR Points

  • Repository Implementation Improvements

    • Plan to refactor the repository implementation by introducing a common utility, such as handleApiResponse, to streamline API response handling and reduce code duplication.
    • Will ensure consistent implementation across other repositories in the project.
  • Scheduled Updates with WorkManager

    • While the current implementation fetches real-time search data immediately, future plans include using WorkManager to schedule updates every hour.
    • WorkManager integration will ensure stability and efficiency for background tasks.
  • Testing and Scalability

    • Conducting tests to ensure the recent search and real-time search features work seamlessly across various scenarios.
    • Exploring additional features, such as trend analysis of real-time search data, to enhance user interaction.
  • Refactoring for Maintainability

    • Planning to further modularize the code by reducing dependency between adapters and ViewModel.
    • Intend to extract search-related logic into a dedicated UseCase to simplify ViewModel responsibilities and improve code readability.

📸 Screenshots

@MoonsuKang MoonsuKang merged commit b4a21e9 into develop Dec 2, 2024
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant