Skip to content

Add Custom Sort Option to To-Read List (#71)#322

Open
aspaplag wants to merge 2 commits into
bayang:mainfrom
aspaplag:custom-order-to-read-list
Open

Add Custom Sort Option to To-Read List (#71)#322
aspaplag wants to merge 2 commits into
bayang:mainfrom
aspaplag:custom-order-to-read-list

Conversation

@aspaplag

Copy link
Copy Markdown

This closes issue #71

Changes Made

  • added a new column in userbook table in liquibase to store the custom to-read order (int for each book place)
  • added the custom to-read order column in UserBookTable.kt table definition
  • added field of custom order in UserBookLightDto and UserBookUpdateDto in UserBookDto
  • added updateCustomToRead() method to save user's custom order to BookRepostiory.kt for each book
  • added method to BookService to save a set of int order places
  • added endpoint in BooksController that accepts a mapped set of ids and gives it to BookService
  • added a test for whether the custom order is saved and persists
  • added a custom sort toggle that loads the unpaginated to-read list and makes the cards draggable. There is a save button and the custom sort order can be viewed in the filters sidebar
  • added updateBookSortOrder in dataservice which sends the new order to the endpoint

(Hello, this was done as part of a software engineering course, and part of it contributing to an OSS project of our choice. I don't expect it to be accepted but i would appreciate feedback if you have time and you want to. Thanks!)

aspaplag added 2 commits May 24, 2026 13:26
added backend methods and changes

changed toread ui and added sortablejs

removed personal use comments

linting and test of method
@bayang

bayang commented Jun 1, 2026

Copy link
Copy Markdown
Owner

Ok thank you for this contribution.
I will need some time to review it.

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.

2 participants