by Gerard Sans | @gerardsans
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6019035/GerardSans.jpg)
Finding a bike
in London with AWS Amplify
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/5237430/White.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/5237430/White.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/5237430/White.png)
Finding a bike
in London with AWS Amplify
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6775674/open_up.png)
SANS
GERARD
Developer Advocate AWS
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6019037/image-f7ad6136-23c7-4b42-8088-b6c698441f59.jpg)
Developer Advocate AWS
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6019041/image-d075c0c3-57de-43e6-85b0-3c9fba60a221.jpg)
International Speaker
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/4026400/6df7410fac6d0d2822d92d59484ba2d9.jpg)
Spoken at 139 events in 36 countries
Bike Sharing
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6840070/47581362_559250801217530_3729500837551007131_n.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6840091/37628991_295342674565420_4153850471838121984_n.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6840084/38928419_1918083315152034_2288246395057995776_n.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6840092/36588015_1453555898078491_5928478641548689408_n.jpg)
Benefits
- Transport flexibility
- Reduce traffic emissions
- Reduce traffic congestion
- Health benefits for users
Santander Cycles
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6840104/LOGO-VELO-Londre1.png)
Overview
- Since 2010
- +12,000 Bikes
- +700 stations
Boris Bikes
London
Unified API
/BikePoint
/BikePoint/id
TfL Unified API
/BikePoint/Search
[
{
"id": "BikePoints_1",
"commonName": "River Street , Clerkenwell",
"additionalProperties": [{
"key": "NbBikes", "value": "11",
}],
"lat": 51.529163,
"lon": -0.10997
}
// 777 more
]
/BikePoint
{
"id": "BikePoints_1",
"commonName": "River Street , Clerkenwell",
"additionalProperties": [{
"key": "NbBikes", "value": "11",
}],
"lat": 51.529163,
"lon": -0.10997
}
/BikePoint/BikePoints_1
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/3746975/1150466.jpg)
LNDBikes
AWS AMPLIFY
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6018859/aws-amplify.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6018841/Diagram-Dark-Blue-on-White.png)
Fullstack Serverless
🦄
🌩️
Update
Init
Add
Push
Amplify CLI
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6018859/aws-amplify.png)
Categories
interactions
storage
notifications
auth
analytics
function
amplify add <category>
api
hosting
xr
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/3746855/giphy__6_.gif)
Working with maps
Data Transformations
GeoJSONfeature
BikesPoint
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-0.10997, 51.529163]
},
"properties": {
"id": "BikePoints_1",
"name": "River Street , Clerkenwell"
}
}
geoJSON feature
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6840159/lon-lat.gif)
Coordinates = [-0.10997, 51.529163]
51.529163
-0.10997
Coordinates
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6840142/mapboxgljs.png)
Data Transformations
GeoJSONfeature
BikesPoint
mapbox Source
mapbox Layer
Adding Search
Data Transformations
GeoJSONfeature
BikesPoint
GraphQL API
Elastic Search
type BikePoint @model @searchable {
id: ID!
name: String!
description: String
location: Location
}
type Location {
lat: Float
lon: Float
}
type Query {
nearbyBikeStations(location: LocationInput!, km: Int): ModelBikePointConnection
}
GraphQL Schema
Future
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/3746947/9F2RAAW7.jpeg)
More
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6018888/APX1eZwF_400x400.jpg)
@undef_obj
@kurtiskemple
@dabit3
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/5708564/bKQTdDgx_400x400.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6018890/yu40u42__400x400.jpg)
Kurt Kemple
Richardo
Nader Dabit
@TheSwaminator
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6018892/QfC6n5ir_400x400.jpg)
Nikhil Swaminathan
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6775674/open_up.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6775674/open_up.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/345677/images/6775674/open_up.png)
Finding a bike in London with TfL Unified API and AWS Amplify
By Gerard Sans
Finding a bike in London with TfL Unified API and AWS Amplify
Are you visiting London and want a bike to move around? Are you with some friends? No worries. In this talk, we are going to build LDNBikes an app to find in real-time how many bikes are available so you and your friends are good to go and enjoy a great ride!
- 2,444