Detecting Locked Bicycle Stations: An AWS Serverless Story (Part 1)

Detecting Locked Bicycle Stations: An AWS Serverless Story (Part 1)

The weather is perfect for a short bike ride and I quickly rent a Velib, one of the many public bikes that can be rented and returned in any of the 1500 stations scattered across the city. Detecting Locked Bicycle Stations: An AWS Serverless Story (Part 1) The first one is out. It's an overview of Kafka and AWS Lambda functions.

This series of articles is about me spending way too much time trying to solve a niche problem while learning how to use the AWS Serverless stack (and Kafka, initially).

It’s not supposed to be a tutorial or an exhaustive presentation, but more a story of how I built and hosted a “real” application and the challenges I faced. Hopefully, you will end up with a better understanding of the AWS Serverless stack and what it means to develop with it. Enjoy!

Lockdown and dead stations

Paris, May 2020, end of the first lockdown. I decide to join some of my friends for a picnic. So, like many Parisians, I’m headed toward the Bois de Vincennes, Paris’ largest public park, on the eastern edge of the city.

The weather is perfect for a short bike ride and I quickly rent a Velib, one of the many public bikes that can be rented and returned in any of the 1500 stations scattered across the city. Arriving near the park, I look at the official app to find the nearest station with available slots to return my bike. As I approach, something seems off. I see several people, puzzled, trying to rent or return a bike. I sigh. The station is locked. Dead.

Velib was created in 2007 and quickly proved successful, becoming one of the most used bike sharing platforms in the world. In 2017, after the end of the initial 10 years contract, the city chose a new operator to manage and develop the network. And let’s just say the change was not smooth. Three years later the main problems have been solved but, still, Velib users face two common hurdles: the broken bikes that are not removed from the stations (whoses seats are returned by the disapointed cyclist to kindly warn the next user) and, more rarely, stations that are “locked” for a few hours, without notice on the official app or website.

After finding another station, I join my friends and wash away my misadventure with a cold beer. But I can’t stop thinking about it. It’s not the first time I had to find another station because one was unusable. Why didn’t the official app show the station as dead? Isn’t it easy to detect a station that suddenly stopped renting or returning bikes? How hard could it be with the proper data?

The Velib API

Luckily Velib exposes a public API. The same data can also be found in the Paris OpenData project which incorporates and exposes a lot of public data about Paris (if you ever looked for the dataset of every one of the 200.000 trees in Paris, it’s there!).

kafka serverless dynamodb aws-lambda

What is Geek Coin

What is GeekCash, Geek Token

Best Visual Studio Code Themes of 2021

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Triggering AWS Lambda Events with DynamoDB Integration

Triggering AWS Lambda Events with DynamoDB Integration. Learn everything about AWS Lambda triggers in this guide, including Amazon DynamoDB integration and 3 common ways to trigger AWS Lambda. DynamoDB is an AWS product just like Lambda, and therefore you’re able to create triggers with ease.

Automate AWS DynamoDB Backups using Lambda, Serverless Framework & GitHub Actions (CI/CD)

In this Serverless Saturday tutorial, we'll be building an automated service that performs scheduled DynamoDB backups using AWS Lambda, the Serverless Framework, and GitHub Actions for CI/CD. Intro. Set up IAM user for deployment pipeline. Set up the GitHub Actions workflow. Set up the serverless.yml deployment configuration. Implementing the AWS Lambda function. Verifying the automated backups.

AWS Lambda & DynamoDB | AWS Serverless tutorial - Part I

In this tutorial as we use AWS Lambda, AWS API Gateway and DynamoDB to create a serverless backend for your application. In part I of this AWS Serverless tutorial we create 4 Lambda functions in NodeJS to implement CRUD operations in our DynamoDB database.

What is serverless computing in AWS? Serverless is more than AWS Lambda!

In this video tutorial, we'll learn What is serverless computing in AWS? Serverless is more than AWS Lambda! DO NOT MISS!!!

How I'm Learning AWS Serverless - Lambda, API Gateway, DynamoDB, etc | Live Stream

How I'm Learning AWS Serverless - Lambda, API Gateway, DynamoDB, etc | Live Stream. I'm gonna broadcast myself highlighting what are the challenges of learning AWS, How I started, What I could do better even now and many more..