Upgrade to Pro — share decks privately, control downloads, hide ads and more …

APIStrat 2016 | Flying Dreams: Real-Time Communication from the Edge of Space (Jonathan Barton, Neha Abrol)

APIStrat 2016 | Flying Dreams: Real-Time Communication from the Edge of Space (Jonathan Barton, Neha Abrol)

Creating flexible, resilient access to real-time sensor data can be challenging – especially when your device targets can literally disappear off the face of the Earth! See how groups of students and instructors are using the goMake API to talk with high-altitude balloon telemetry as it skirts the edge of the stratosphere, and the design considerations involved in making this a scalable platform for project-based STEM learning that aims to instill a sense of wonder.

More Decks by API Strategy & Practice Conference

Other Decks in Technology

Transcript

  1. Students learn by understanding the story behind their interactions with

    science, math and technology Framework for An Emergent Narrative
  2. Our Team Neha API Sorceress Rick Minister of Containers Jonathan

    Hardware Czar Isaac Web/UX Nick Content/ Media Baron Matt Design Deacon Jacob Swift Wizard Morris Infrastructure
  3. 100 kPa 400 db 68 Altitude 0 km 2:40:10 Trip

    Time (42.36008, -71.058880) Callisto Find your Balloon! Enter Call sign You can manually type in your Balloon's call sign or select one from the active list. Callisto Name Status Exeter SS Marcus Active Ended 7/14/16 Ended 6/1/16 Dorothy Ended 2/1/16 goMake Mobile App
  4. Overview The goMake API provides flight related information and real

    time telemetry for a goMake high altitude balloon and other project launches.
  5. Architecture SendBird Chat API Auth0 Authentication API Middleware for Express

    Validation request headers etc. Mongoose ODM Payload has a Hex String Balloon Latitude Longitude Altitude Temperature Modem Imei# Web Server Express Server Base don Node JS Request w ith Im ei # and LaunchD ate Payload w ith Im ei # & Launchdate Callback U RL Callback URL sent every 2 minutes posting the flight’s Telemetry Request Satellite Modem RockBlock DB Mongo DB Response
  6. Infrastructure - Overview - Circle Ci- Continuous integration - Microservices

    Architecture with Kubernetes on Google Cloud Node Deployment Service Load Balancer ClusterIP Persistent Volume Service Web Server Container Deployment Mongo Container
  7. Infrastructure - Choice Considerations 1. Flexibility - Very fine control

    of compute usage over time. - Scale up and down based on requirements. 2. Cost: Competitive rates for compute and storage. 3. Availability: Relatively easy to deploy highly-available services. 4. Simplicity: Straight-forward API with command line in- terface and Web UI.
  8. Testing Strategies and Data Setup Unit Tests - mongoose-mock -

    mocking mongoose connection. - sinon-mongoose – chained mongoose model methods. - sinon-stub-promise –promises. Integration Tests - http-status - http responses from endpoints. - supertest-as-promise - mocking requests. Data setup-Mock Data - gomake-mock-data – repository published as an npm package to provide mock data. Data setup-Seeders - gulp populate - “populate” task to copy data from json files to mongoDb collection. npm pack- age gulp-mongo populator used.
  9. Challenges - Challenge : No information from satellite during course

    of the flight. - Solution: To give some kind of predictive navigation information based on previous flights‘ data. (Future implementation). - Challenge : Relationship between flight and telemetry, if same satellite modem is used. - Solution : Have flight launch date with IMEI number as a unique identifier. - Challenge : Working with predefined message formats from on- board devices. - Solution : Still trying to figure out the best yet consistent solu- tion for different consumers like using geoJson
  10. Data Security - JWT token– transferring claims. - Auth0 API

    – authentication and authorization. All user related info is going to be stored in Auth0 database. - SendBird Chat – Each user will get their own chat key.
  11. To hone our collective experience, intelligence, and skills in order

    to give back something meaningful to the world goMake Vision
  12. www.patreon.com/gomake Short term goal: Target : May 2017 Two Launches

    Purpose: to fully fund 2 high altitude balloon projects for a group of 10 students with the tech-education group Holyoke Codes goMake Vision