Skip to content

PR: 1.5.0 RC 1#42

Merged
doyoonkim3312 merged 152 commits intoreleasefrom
development
Jul 19, 2025
Merged

PR: 1.5.0 RC 1#42
doyoonkim3312 merged 152 commits intoreleasefrom
development

Conversation

@doyoonkim3312
Copy link
Member

KNUTICE 1.5.0 RC 1

  • Employment Notices become available
  • Saved Bookmarks are available to be sorted.
  • Corresponding Database Scheme changes and migration plan have been applied.
  • Additional modifications have been made to increase efficiency.

  - 20 -> 21 (1.4.2)
  - Add Necessary image assets.
  - Minor UI Fix (wrongfully applied color scheme.)
  - Add new column 'created_at' under the table "Bookmark"
  - Manual Migration has been defined and applied to the LocalDatabase instance.
  - Apply structural changes made on Local Room Database. (Newly added column values)
  - Both BookmarkVO and Bookmark entity would have attribute 'createdAt' with initial value of 0.
  - If createdAt value of received BookmarkVO is equal to 0, a notice creation date would be added as a createdAt value of the BookmarkVO (FetchAllBookmarks)
  - Add Room Gradle Plugin for better debugging and testing
  - Add missing implementation for Unit Test for Pure Kotlin Module.
  - Remove unnecessary test files.
  - For fetching Bookmarks from the local database, a count limit has been applied. (Default: 20 elements.)
  - App now fetching elements by page with 20 elements each.
  - Replace function under UI module with newly defined fetching function (with size and pageNumber as parameters)
  - Custom-defined TopAppBar Dropdown Menu Item.
  - New feature addressed: Fetching Sorted Bookmark
    * Starting From: 1.5.0
    * Details: Bookmarks is now available to be fetched sorted by creation date either descending (default) or ascending.

  - Necessary Query Statements/Functions have been implemented and applied to related files accordingly.
  - New feature addressed: Fetching Sorted Bookmark
    * Starting From: 1.5.0
    * Details: Bookmarks is now available to be fetched sorted by creation date either descending (default) or ascending.

  - BookmarkListScreen now has a TopAppBarAction button to select Sort options.
  - BookmarkListViewModel is now handle fetching bookmark based on selected sorting option.
  - Pagination has been applied. (20 elements per page.)
  - Add missing state changes on TopAppBarDropdownMenu.
    * Click element to dismiss Dropdown Menu.
  - Add necessary string resources for sorting feature.
  - Clean up unnecessary import statements from NoticesInCategoryScreen
  - Temporarily save the processes/work for later work
  - Add new columns to the database
    * notice_category
    * updated_at
  - Enhance fetching strategy for deploying Bookmark List
    * Implement 'Intermediate Data Class Approach' for getting entities with one-to-one relationship.
    * Intermediate Data Class (BookmarkAsListElement) and its corresponding VO have been implemented.
    * Reduce unnecessary SELECT Query for getting related NoticeEntity from received Bookmark information.
  - Add new Column (updated_at) to Bookmark Entity for preparing future update plan.
  - Custom Splash Screen has been implemented in order to handle followings:
    1. Database Synchronization (only once after 1.5.0 updates)
    2. Token Validation. (Replace Token Validation from MainApplication to Splash Screen.)
  - Add missing routes and exit transition for smooth navigation.
  - TokenHanlder interface is now implemented on :common module
  - Existing TokenHandler is now implement TokenHandler Interface for providing tokenHandler instance to the :feature module.
  - Add necessary Binds/Provides functions to provide newly introduced classes over DI.
  - Add Shared DataStore for Application Preferences.
  - Apply Dynamic Start Destination for NavHost to handle SplashScreen Visibility.
  - Add Missing Dispatchers (Dispatchers.IO) to the Flow on ValidateDeviceTokenImpl.
  - Disable Android 12 Default Splash Screen.
  - Add Additional @module in :notification/di for binding instances.
…r Update NoticeEntity.

  - Implement updateNoticeEntity functions for update NoticeEntity during database synchronization.
  - New dependencies have been applied to :core:domain and :core:model modules.
  - Apply Coroutine Dispatchers to be injected.
  - Replace hardcoded Coroutine Dispatcher with Dispatchers being injected.
  - Remove Thread-concern from the feature module.
  - Add necessary image /drawable resources for PlaceholderScreen applied.
    * Bookmark / Magnifying Glasses / Question Mark / Wifi-check
    * Both Light and Dark theme applicable.
  - Universally applicable PlaceholderScreen is being added.
    * Accepts Id of Image Resource to be shown, and the informational text to be placed under the image.
…ed request.

  - (Repository) Change the return value to not-null value for successful response with error.
  - (UseCases) Wrap return value with Result<T> to let UI knows there was an response with exceptions.
  - (ViewModels) Apply onSuccess and onFailure with received Result<T> instance and handle successful and failure logic respectively.
  - Add necessary string resources.
  - Change the flow to emit List of BookmarkASListElementVO. (No longer needed to emit by single value.)
  - Add missing parameter (lastNttId) to queryNoticesByKeyword function (Allow to fetch more notices, using lastNttId as a mark)
  - Allow NotificationPreviewCard process the click action only if the loading is completed.
  - Add dependencies for test.
  - Entry point to SearchScreen has been relocated to BottomNavBar.
  - Corresponding BottomNavBar configuration has been modified.
  - Remove function for update the fetching status.
  - Now, each function call for searching notices would update Fetching status manually.
  - Inject necessary system services via Dependency Injection.
  - Temporarily applied image asset has been replaced with Theme-Unified image asset.
  - Remove outdated image asset.
  - Replace outdated import statement. (DaggerAppComponent)
  - Fix floating button on TextField in NoticeSearchScreen.
  - Necessary localized string resources are included.
  - Let Color resource (NotificationType05) to be available.
  - Modify DTO and VO to accept list of Employment Notices
  - Add necessary values to enum classes (NoticeCategory, NavRoutes)
  - Replace pre-defined temporary resource to properly assigned string resources.
  - Add newly introduced resources to utility functions. (Return resources based on NoticeCategory)
  - Add new destination for Employment News.
    * NoticeInCategoryScreen has been linked to the NavRoute.MORE_EMPLOYMENT.
  - Display received TopThreeNotices including Employmenet Notices.
  - (FEAT) Add localized string resources for Scaffold Title.
  - (REFACTOR) Modify paging logic to resolve identified issue
    * Identified issue:
      1. The very last notice of Paging result was being consumed.
      2. Once notices reach its end, the unexpected 'no_connection' error was popped up
  - Remove unnecessary empty line from the codebase.
  - Resolve Identified problem on Search Screen
    * Identified Problem:
      1. Result of previous search was not cleared during new search.
  - Clean up unused import statement
@doyoonkim3312 doyoonkim3312 merged commit 39f6f72 into release Jul 19, 2025
1 check passed
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