bartekpacia / bartekpacia/opencaching
Plan
- Dominant language
- Kotlin
- Stars
- 2
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Let's practice [outline speedrunning](https://news.ycombinator.com/item?id=41148517).
# Features
### Sign-in to OKAPI.pl
Scope:
- Go through the OAuth 1a dance. Resources:
- [IETF | The OAuth1 Protocol](https://datatracker.ietf.org/doc/html/rfc5849#autoid-3)
- [flask_dance| How OAuth works](https://flask-dance.readthedocs.io/en/latest/how-oauth-works.html)
- Save credentials in some secret store
- Attach credentials to all requests (Ktor interceptor?)
### Profile screen
Screenshot from the Geocaching app

Scope:
- Show latest user data (no caching/temp db)
- Show finds list
- Add sign-out button
### Map screen
- Map type selection. Use bottom sheet for this.
- [ ] Map type selection (satellite, terrain etc.) works
- [ ] Map type selecton is saved to device
### Cache screen
- Navigate button that redirects to Google/Apple maps
- Log cache button
with modal bottom sheet for action selection

- Hint button
shown as alert dialog

### Cache logs screen
Screenshot from the Geocaching app

### Write comment screen
Screenshot from the Geocaching app

- Basic text editing
- Attach a single photo
- "Save as draft" option to save in local storage
# Prerequisites
- [Kotlin Multiplatform library for OKAPI](https://github.com/bartekpacia/opencaching/issues/9)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing prerequisite issue #9 and the repository's current Kotlin Multiplatform structure. The plan spans sign-in, profile, map, cache, logging, and comment screens, but names no files, tests, or single acceptance target; it should be split into smaller issues before implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- mobile
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100