Kotlin Intro & Starting the Koans

Tomás Hanley

20th August 2018

Drone Delivery App

The Real Future of Drone Delivery

Why learn Kotlin?

  • Kotlin is a better language for the JVM than Java
    • Really easy to get up and running
    • Simpler language than Java
    • Much safer than Java

      • No more NullPointerExceptions!

      • Streamlines the handling of null values

    • More more clean & concise than Java

    • 100% Interoperable with Java

      • Kotlin & Java classes can live side by side

Our Equipment

  • Bluetooth connected drone

  • Parrot Android SDK

  • Simulator (that we can't get working)

The Plan

Different Components

  • Android Controller

  • Drone Controller & Delivery Service

  • Food Service & Consumer Service

  • Android Consumer App

  • Merchant Web App

Android Controller

  • Control drone with existing android app

    • Take off, Land

    • Control pitch, yaw, roll, etc.

  • This is already provided in the Parrot SDK

  • We want to convert it to kotlin

Drone Controller & Delivery Service

  • Send higher level commands to drone

    • Move one unit in any direction

    • Fly to coordinate (x, y)

    • Need a higher level android UI to test

  • Can eventually be used for handling delivery requests and scheduling.

Food Service & Consumer Service

  • Embedded Web Servers

  • Handle http requests

  • Async framework would be nice (Ktor)

  • Other option seems like nanohttpd

Android Consumer App

  • Interacts with consumer-service

    • Get delivery options

    • Send delivery requests

Merchant Web App

  • Interacts with food-service

  • Tells food-service where food is available

  • Written in Kotlin and compiled to Javascript

Drone Delivery App

By Tom Hanley

Drone Delivery App

  • 91