boolder-org/boolder-android

Tick list

Closed this issue · 4 comments

  • Allow users to mark a problem as "ticked" or as a "favorite".
  • Add a tab in the app to display the list of ticks and favorites (and tap on a problem to see it on the map)

Demo iOS

RPReplay_Final1689973427.MP4
RPReplay_Final1689973510.MP4

Data model

Let's store the data locally on disk (on iOS we use a separate sqlite database via CoreData) with the following schema:

Ticks:

  • id (optional)
  • problemId
  • createdAt

Favorites:

  • id (optional)
  • problemId
  • createdAt

Code iOS

https://github.com/boolder-org/boolder-ios/blob/b418c9d55501a911de4b49b6b2a8b8d51ae2c403/Boolder/UI/Tick%20List/TickList.swift

https://github.com/boolder-org/boolder-ios/blob/b418c9d55501a911de4b49b6b2a8b8d51ae2c403/Boolder/UI/Map/Problem%20details/ProblemDetailsView.swift#L199-L219

https://github.com/boolder-org/boolder-ios/blob/b418c9d55501a911de4b49b6b2a8b8d51ae2c403/Boolder/UI/Map/Problem%20details/ProblemDetailsView.swift#L277-L364

Would it be useful to have a different outline circle colour depending on whether a route is marked as "projet" or "reussi"?

Would it be useful to have a different outline circle colour depending on whether a route is marked as "projet" or "reussi"?

Good question!
I did a test last year, but the result wasn't great (the map was hard to read)

On iOS we've gone another route: we use a filter for ticks ("réussi") and favorites ("projet").
We'll probably do the same on Android once the Tick List is live.

mirrom commented

Have you thought about integrating Apple's CloudKit into the app? That would enable you to store the tick lists and projects in the users' iCloud so they are synced between multiple devices and are not lost if you have to change your device.

Edit:
Ooops, this is the Android repo, sorry! But for iOS the CloudKit would still be a nice enhancement :)

Have you thought about integrating Apple's CloudKit into the app? That would enable you to store the tick lists and projects in the users' iCloud so they are synced between multiple devices and are not lost if you have to change your device.

Good question!
Storing the data on-device is only step 1.
Step 2 will be to store data on a boolder account (server-side) => it's on the long-term roadmap 😎

Ooops, this is the Android repo, sorry! But for iOS the CloudKit would still be a nice enhancement :)

Haha :)
Yes you're right, it could a nice enhancement for the short term (at least for iOS).
I'll add it to the todo list.

Thanks for the suggestion!