This demo application simulates and visualizes the Starlink internet constellation. It also demonstrates how MemgraphDB can be used to find the shortest routing path in such networks.
To find out more about the subject, read the accompanying blog post.
Note
We no longer host the Starlink Simulator app on http://starlink.memgraph.com/
. You can still check out this project to learn how to build an app with Memgraph.
Before you can run the application, you need to have the following tools installed:
After you installed Docker you need to download the Memgraph image for Docker and load it.
The container with the image should be stopped before attempting to build and run the app.
First, position yourself in the root folder of the project. Build the Docker image and run the application with the following commands:
docker-compose build
docker-compose up
If everything was successful you can open it in your browser. The app will be listening on: http://localhost:5001/.
The app is divided into three separate modules:
- memgraph - the database where all the positions of satellites and cities are stored and updated.
- simulator - a Python program that utilizes the Skyfield package to calculate satellite positions in orbit. Those positions are then stored in the Memgraph database.
- web_app - a client-server app that fetches data from the database and renders it.
- Python 3.7
- MemgraphDB 2.2.1
- Apache Kafka
- Poetry
- Skyfield
- Flask
- Leaflet