Elite Dangerous Timeline
A project for visualising game events using an API of my own creation with an AWS DynamoDB backend.
Table of contents
Motivation
The project started as a desire to providing me with some context as an Elite Dangerous player. The in-game experience does not give you context/history for a player you have encountered before. Many of these interactions log to the game journal - a source which I’ve used to create an event-driven text to speech implementation using Google Cloud text to speech.
Additionally, I had the following learning outcomes in mind:
- Further my learning of Python and API authorship.
In this case, by initially producing the Flask API middleware for the local prototype implementation. With a hope that it is portable into Lambda functions upon migration to AWS as a serverless application. - AWS DynamoDB to learn this service specifically and NoSQL in general
Current implementation
A webpage frontend is visualising the events as a timeline using the vis.js Timeline library. The timeline frontend requests data via a GET
call to a Python Flask API. The API uses the AWS SDK for DynamoDB (Boto3) to access a DynamoDB backend.
Three events are captured and reported on:
- Interdiction - when a player pulls you out of supercruise (usually a prelude to combat).
- Killed - killed by a solo player.
- Wing killed - killed by a group of players in a wing.
Media
Limitations
- Locally hosted with a manual startup.
- Data is loaded manually.
- The visualisation library is no longer supported.
Aspirations
In order of preference:
- Migration to DynamoDB on AWS.
- Serverless hosting on AWS.
- Event-driven updates.
- Consider replacement of the visualisation front end to a supported library.
Share this post