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


  1. goMake

  2. goMake API Jonathan Barton @jellyfishtree - Technical Lead Engineer at

    McGraw-Hill Education - Co-Founder of goMake
  3. Agenda Next steps Q & A 4 API 3 Mobile

    App 2 Overview 1
  4. Students learn by understanding the story behind their interactions with

    science, math and technology Framework for An Emergent Narrative
  5. From bootstrapped launch to scal- able education framework Our Narrative

  6. None
  7. 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
  8. None
  9. Foundations - Project-based Learning Curricu- lum - Standards Oriented (CC)

    - Open Source (GPLv3) - Space!
  10. None
  11. goMake Container

  12. HolyokeCodes @holyokecodes

  13. Jacob Bashista @jacobbashista - Swift Wizard jacobbashista.com goMake Mobile App

  14. goMake Mobile App

  15. 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
  16. Neha Abrol @abrol_neha - Software Engineer at McGraw-Hill Education -

    API Sorceress at goMake goMake API
  17. Agenda Overview API Architecture Infrastructure Testing Challenges Data Security 1

    2 3 4 5 6
  18. Overview The goMake API provides flight related information and real

    time telemetry for a goMake high altitude balloon and other project launches.
  19. 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
  20. 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
  21. 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.
  22. 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.
  23. 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
  24. 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.
  25. Nicholas Kanhai @nkanhai Co-Founder GoMake Master of Module Content &

    Media goMake Vision
  26. To hone our collective experience, intelligence, and skills in order

    to give back something meaningful to the world goMake Vision
  27. 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
  28. Thank You! Twitter: @gomaketeam Instagram: instagram.com/gomaketeam Facebook: facebook.com/gomaketeam