Skip to content
Don Park edited this page Mar 15, 2016 · 2 revisions

codename: lawndart

Client-Only architecture

  • Android app
  • Storj storage, over REST

Authentication

  • one user secret per username
  • password hashes to a key with value of the user secret

Storage

Building on a key/value storage, a two level linked list is maintained. The leaves being each lat/lng report, and the parent level being a day's worth of updates.

  • Daily Index key: user secret+date, value: head of day list, link to previous day
  • Each location: key: rando value: lat/lng, link to previous day entry

Update procedure

  • Put key: rando, value: lat/lng, link to previous day
  • Put/update key: user secret+date, value: rando key (above)

Retrieve procedure

Latest position
  • Get key: user secret, value: full name, photo url, etc, master head key
  • Get key: master head key, value: most recent rando key
  • Get key: rando, value: latest location
Last 100 points
  • using latest location record, use date to make Day hash key
  • Get key: day hash, value: head of day
  • Follow day list
Clone this wiki locally