Skip to content

Roadmap

Kenneth Bambridge edited this page May 22, 2017 · 25 revisions

For iOS Roadmap see https://github.com/k/pavlok-punctual-ios/wiki/Roadmap

Node Server

  • Get a node/express server running
  • Send zaps to Pavlok using Pavlok API
    • Test using their node module (local)
    • Then set up as server
    • Store OAuth2 access_key and refresh_key in database (could just be a file)
    • Automatically refresh OAuth key
    • Load OAuth key from database on server startup and store in calendar global
  • Connect to Google Calendar API
    • Authentication working
    • Load recent events & extract locations
    • Store OAuth2 access_key and refresh_key in database (could just be a file)
    • Automatically refresh OAuth key
    • Load OAuth key from database on server startup and store in calendar global
  • Set up APNS service: https://hub.docker.com/r/joonix/apn/
  • Make backend logic
    • Automatically grab calendar events and locations (and somehow keep synced)
    • Set scheduled times for iPhone app checks to be made and shocks sent
  • Put API keys into environment variables into filesystem

Other

Design Questions

  • How often should Google Calendar events be checked for updates?

  • How far back should the calendar events be loaded for?

    • Probably one day's worth, or could be less and just update every few hours or so
  • How to check to see phone is in the right location?

    • Remote App Wakeup using push notifications to check location?
    • Geofence?
      • Set by App?
      • Set by Server?
      • The geofence can be set by silent push notifications from the server with data

Clone this wiki locally