bartekpacia / bartekpacia/opencaching

Plan

Open
#11 0 comments 0 reactions 0 assignees View on GitHub
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

![Screenshot 2024-09-13 at 9 13 02 PM](https://github.com/user-attachments/assets/b942b689-7a57-4e2a-a05b-ae0d4093f039)

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

![IMG_5B9AA03018F8-1](https://github.com/user-attachments/assets/a0cac3f2-aeaa-4a7a-bc7e-2acfc5e0e228)

- Hint button
shown as alert dialog

![IMG_20BFC4E173C2-1](https://github.com/user-attachments/assets/0c13eba5-5333-4327-943c-2b2ad33b9f01)

### Cache logs screen

Screenshot from the Geocaching app

![IMG_DB8481C5217E-1 2](https://github.com/user-attachments/assets/b9b3a73a-924d-4f6b-a375-eeb7c0ed8e5b)

### Write comment screen

Screenshot from the Geocaching app

![IMG_2036E56EBBE4-1](https://github.com/user-attachments/assets/d0ad5977-4de7-4981-b450-d58b3db075f3)

- 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.