Improvements #25

Closed
opened 2024-12-28 14:03:00 +01:00 by FrederikBaerentsen · 13 comments
  • [/] Searchbar for Inventory page
  • Format Missing as inventory
  • Format Parts as inventory
  • Format Minifigs as inventory
  • Format Wishlist as inventory
  • Add search to Parts
  • create 'submit' button should just say on the page.
  • same navbar on all pages. (filter only on pages where it is needed)
  • search on /parts should keep table width
  • /minifigs add headline
  • /minifigs change table to grid and add theme selector / filter.
  • /wishlist format table and add headline
  • /config add confirmation to delete database
  • Add proper browser title for each page
  • Export to CSV
- [/] Searchbar for Inventory page - [x] Format `Missing` as inventory - [x] Format `Parts` as inventory - [x] Format `Minifigs` as inventory - [x] Format `Wishlist` as inventory - [x] Add search to `Parts` - [x] create 'submit' button should just say on the page. - [x] same navbar on all pages. (filter only on pages where it is needed) - [x] search on `/parts` should keep table width - [x] `/minifigs` add headline - [x] `/minifigs` change table to grid and add theme selector / filter. - [x] `/wishlist` format table and add headline - [x] `/config` add confirmation to delete database - [x] Add proper browser title for each page - [ ] Export to CSV
FrederikBaerentsen added the
Kind/Feature
label 2024-12-28 14:03:00 +01:00
FrederikBaerentsen self-assigned this 2024-12-28 14:03:00 +01:00
FrederikBaerentsen added this to the General Improvements project 2024-12-29 16:47:03 +01:00
FrederikBaerentsen added this to the Version 1 milestone 2024-12-29 16:53:24 +01:00

Thanks for the awesome work so far! I have created a local install last week and started to import all my sets, love it!

2 improvements I would love to see;

  1. Export selection to csv -> I want to sticker my sets and it would be very useful to have a simple way to export the set id and other basic info so I can print them.
  2. Set default sort order in env or UI -> It's great you can already sort in different ways but I would like to set it by ID and would be nice if the .env file would allow this or somewhere in the UI.

Something else that could be a nice improvement is basic authentication. I would love to open up my instance so other people can view my list of stets but I don't want them to add or remove anything. I understand this is a lot more work but it could be a great improvement in the future.

Thanks for the awesome work so far! I have created a local install last week and started to import all my sets, love it! 2 improvements I would love to see; 1. Export selection to csv -> I want to sticker my sets and it would be very useful to have a simple way to export the set id and other basic info so I can print them. 2. Set default sort order in env or UI -> It's great you can already sort in different ways but I would like to set it by ID and would be nice if the .env file would allow this or somewhere in the UI. Something else that could be a nice improvement is basic authentication. I would love to open up my instance so other people can view my list of stets but I don't want them to add or remove anything. I understand this is a lot more work but it could be a great improvement in the future.
Author
Owner
  1. Definitely a good idea. I'll add that.

  2. It's something i want to implement. See #32. Hopefully sooner, rather than later.

I am not adding authentication, you can do that using basic auth in your reverse proxy or using authentik or authelia. It is too much to try and implement a proper authentication system. I use traefik with basic auth myself.

1. Definitely a good idea. I'll add that. 2. It's something i want to implement. See #32. Hopefully sooner, rather than later. I am not adding authentication, you can do that using basic auth in your reverse proxy or using authentik or authelia. It is too much to try and implement a proper authentication system. I use traefik with basic auth myself.
  1. Definitely a good idea. I'll add that.

I am not adding authentication, you can do that using basic auth in your reverse proxy or using authentik or authelia. It is too much to try and implement a proper authentication system. I use traefik with basic auth myself.

Not quite the same ask, but is there a plan for bulk add of sets (even just comma separated in the Add Set dialog), I have a lot to add and having to wait for the import to complete after each one makes it quite slow

> 1. Definitely a good idea. I'll add that. > > I am not adding authentication, you can do that using basic auth in your reverse proxy or using authentik or authelia. It is too much to try and implement a proper authentication system. I use traefik with basic auth myself. Not quite the same ask, but is there a plan for bulk add of sets (even just comma separated in the Add Set dialog), I have a lot to add and having to wait for the import to complete after each one makes it quite slow

I would love to see the option to automatically grab instruction pdf's from rebrickable or bricklink - perhaps not by default because some users wouldn't want them. Otherwise this is an awesome project and I look forward to continued development and improvements

I would love to see the option to automatically grab instruction pdf's from rebrickable or bricklink - perhaps not by default because some users wouldn't want them. Otherwise this is an awesome project and I look forward to continued development and improvements

A couple of features I'd like to see I'm currently using Koillection for mine but like the idea of how this breaks down individual components, any chance there's the possibility of adding in "Purchase Price", "Purchase Date", "Storage Location" or even if we could add our own check boxes that would be great, Thanks for putting in the time and effort to make this as good as it already is.
Also I like the idea of adding multiple sets at once (mainly for initial setup) and also grabbing the instructions as well.

A couple of features I'd like to see I'm currently using [Koillection](https://github.com/benjaminjonard/koillection) for mine but like the idea of how this breaks down individual components, any chance there's the possibility of adding in "Purchase Price", "Purchase Date", "Storage Location" or even if we could add our own check boxes that would be great, Thanks for putting in the time and effort to make this as good as it already is. Also I like the idea of adding multiple sets at once (mainly for initial setup) and also grabbing the instructions as well.
Author
Owner

I would love to see the option to automatically grab instruction pdf's from rebrickable or bricklink - perhaps not by default because some users wouldn't want them. Otherwise this is an awesome project and I look forward to continued development and improvements

This is unfortunately not possible. Rebrickable does not have instructions in their API. Brickset does, but it is a manual process of getting an API key with them, which complicates things.

> I would love to see the option to automatically grab instruction pdf's from rebrickable or bricklink - perhaps not by default because some users wouldn't want them. Otherwise this is an awesome project and I look forward to continued development and improvements This is unfortunately not possible. Rebrickable does not have instructions in their API. Brickset does, but it is a manual process of getting an API key with them, which complicates things.
Author
Owner

A couple of features I'd like to see I'm currently using Koillection for mine but like the idea of how this breaks down individual components, any chance there's the possibility of adding in "Purchase Price", "Purchase Date", "Storage Location" or even if we could add our own check boxes that would be great, Thanks for putting in the time and effort to make this as good as it already is.

This is a pretty good idea. I've also used Koillection before.

Also I like the idea of adding multiple sets at once (mainly for initial setup) and also grabbing the instructions as well.

This is now implemented in v1.0.0.

> A couple of features I'd like to see I'm currently using [Koillection](https://github.com/benjaminjonard/koillection) for mine but like the idea of how this breaks down individual components, any chance there's the possibility of adding in "Purchase Price", "Purchase Date", "Storage Location" or even if we could add our own check boxes that would be great, Thanks for putting in the time and effort to make this as good as it already is. This is a pretty good idea. I've also used Koillection before. > Also I like the idea of adding multiple sets at once (mainly for initial setup) and also grabbing the instructions as well. This is now implemented in v1.0.0.
Author
Owner

@gregoo What's your thought on a search far or filter on the parts page and the parts section of the sets page?

@gregoo What's your thought on a search far or filter on the `parts` page and the parts section of the `sets` page?
Collaborator

There's already a search bar on the part page that searches in every applicable column.

image
image

For the part list in a set I did not use this library because it is made for pure data, and rewrites the rows when sorting the columns or searching, which breaks the field to update the number of missing part as well as the lightbox for the images.

To unbreak it you would require some post processing at every refresh which I believe is a lot of work for a section you won't consult a lot (and you can still search with the browser itself 😁)

There's already a search bar on the part page that searches in every applicable column. ![image](/attachments/d03d6141-8ef1-466f-bf55-fad960abfdbb) ![image](/attachments/6f6b2c61-1bcf-4214-8385-34784d1c6228) For the part list in a set I did not use this library because it is made for pure data, and rewrites the rows when sorting the columns or searching, which breaks the field to update the number of missing part as well as the lightbox for the images. To unbreak it you would require some post processing at every refresh which I believe is a lot of work for a section you won't consult a lot (and you can still search with the browser itself 😁)
135 KiB
146 KiB
Author
Owner

I must be blind. I see the search bar now. That’s fair enough. You are right, the parts page probably isn’t used that much (there’s also a long loading time for the page).

I must be blind. I see the search bar now. That’s fair enough. You are right, the parts page probably isn’t used that much (there’s also a long loading time for the page).
Collaborator

Unfortunately all the pages load the entirety of entries.
The more sets you have, the more parts and minifigures you have and it can lead to sluggish loading times.

To have proper load time this would require paginating every query to the database. But that would require moving all of the search and logic to the database. My use case (< 200 sets from my youth 😁) doesn't require this kind of overhaul, but anyone can attempt it, that's the beauty of open source 😁.

Unfortunately all the pages load the entirety of entries. The more sets you have, the more parts and minifigures you have and it can lead to sluggish loading times. To have proper load time this would require paginating every query to the database. But that would require moving all of the search and logic to the database. My use case (< 200 sets from my youth 😁) doesn't require this kind of overhaul, but anyone can attempt it, that's the beauty of open source 😁.
Author
Owner

I did a couple of tests with ~8000 rows and loading time is ~7s. Which is pretty acceptable. So i think we are good there.

I did a couple of tests with ~8000 rows and loading time is ~7s. Which is pretty acceptable. So i think we are good there.
Author
Owner

Closed. See #52, as only export functionality remained.

Closed. See #52, as only export functionality remained.
Sign in to join this conversation.
No Milestone
6 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: FrederikBaerentsen/BrickTracker#25
No description provided.