Gerben321 / bike-care-tracker

Issue/Suggestion tracker for Bike Care app
3 stars 0 forks source link

Allow components be mountable on multiple frames / bikes #68

Open OleksiyRudenko opened 1 month ago

OleksiyRudenko commented 1 month ago

Is your feature request related to a problem? Please describe. I may want to use clipless pedals on multiple bikes.

Describe the solution you'd like Allow m:n relation between components and frames/bikes.

Describe alternatives you've considered none

Additional context I do not have this particular situation as I own only one frame. Although I could use some easily mountable components (e.g. pedals, lights, saddle) with rented bikes. Guess this feature request is worth verification with 2+ frames owners.

Gerben321 commented 1 month ago

I feared this request would come, haha. I have multiple bikes but I do not share things (apart from lights and water bottles and stuff like that). Right now a component is strictly connected to a bike. This means a component has a link to a bike directly.

In order to facilitate this would mean that a component is no longer directly connected to a bike, but has a connection to a bike through the 'usage period' where we now select a start date, and an optional end date. There would also be the option for the bike a that moment.

This is a major change, not only because of that structure, but also because a component can be 'roaming' freely without a bike, but it still has to be visible somewhere. So we then have to add some list of components etc.

It's doable for sure, but it's a significant change. I am willing to do it, but not if we compromise the ease of use that we have right now, or if we can think of a nice hybrid solution where we keep all the current screens and ways of adding/editing things like a component is still part of a bike, but with the option to move it to another bike, and see a list of components like you have a list of bikes.

So you can see the current list of components when you go to a bike, but also have a COMPLETE list of ALL components in a separate list where you can see if it's installed, and on which bike etc.

Anyway, we have to think this one through because it has consequences. For the UI/UX and data structure.

OleksiyRudenko commented 1 month ago

I do not insist on this feature (do not have a use case for this). I think that even if it gets discarded it would be helpful to document CBA, just in case the idea arises again, so the initiator could be redicrected to already collected arguments pro and con. :)

Anyway, feel free de-priorotizing it.

Gerben321 commented 1 month ago

Good point. I will put this as a nice-to-have right now for the current user-base. But this will get important if we ever get more users, so good to do when things are calm and I have some time to spend for sure!

Konstantin-Levin commented 1 month ago

Yes this will come up for sure as it is quite a common practice. I don’t require it myself, but I know plenty of people who frequently swap pedals and wheelsets etc between bikes. It will unfortunately add complication to the app as you say but maybe there is a way to do it simply.

Of course things like wheels have the added complication of having cassettes and tyres on them 😬 So if you did decide to do this in the future, a way to move multiple components at once (with checkboxes or whatever) would probably help.

Gerben321 commented 1 month ago

I think it could maybe help to have groups of components. So a group consists of the rear wheel, cassette, and tire. And you move it together.