Introduction to Python Backends and Modern API Architectures
Many modern geospatial applications consist of multiple components: sensors or datasets that provide data, a backend that processes and stores the data, and applications that use the data in maps, dashboards, or analyses.
The backend is the central component in this setup. This is where data is received, validated, stored, and made available via an API.
In this course, you’ll learn how to build such a backend yourself using Python and FastAPI, a modern framework specifically designed for building fast and scalable APIs.
We host the backend in Docker, making the application easy to run and deploy. This allows the backend to run consistently across different systems and environments.
The backend stores data in PostgreSQL with PostGIS, a widely used database for geodata. GeoJSON data is received via the API and stored as geometries in the database.
You will learn how a modern geodata architecture works:
GeoJSON → API → backend → database → application
The course complements our courses on IoT and microcontrollers, in which sensors collect data. In this backend course, we build the system that receives, stores, and makes that data available.
However, the course can also be taken independently. The GeoJSON data can come from sensors, scripts, GIS software, or external datasets.
Since the course lasts three days, the pace is relatively fast, and we focus on building a working backend architecture, not on in-depth DevOps or database administration.
What you’ll learn in this course
During this three-day course, you will learn how to develop a Python backend for processing and making geodata accessible.
Among other things, you will learn:
- how a backend architecture for data applications works
- how to use Docker to run a backend environment
- how to build an API with FastAPI
- how to receive and validate GeoJSON data
- how to store geodata in PostgreSQL/PostGIS
- how a backend communicates with other applications
- how an API is structured and documented
By the end of the course, you will have developed a working backend that stores GeoJSON data in a PostGIS database via an API.
Why choose this course
Many programming courses cover individual topics such as Python, databases, or Docker. In this course, we combine these technologies into a single cohesive system.
You’ll learn not only how to write code, but also how to set up a modern backend architecture.
The course complements our courses on:
- IoT and microcontrollers
- sensor data and data collection
- geo-data infrastructures
But it’s also suitable for anyone who wants to develop a backend for data or geo-applications.
Who is this course for
This course is intended for professionals and students who want to learn how to make data available to applications via a backend.
The course is suitable for:
- GIS specialists
- geo-data analysts
- Python developers
- data engineers
- researchers who work with data applications
Basic knowledge of Python is required. No prior knowledge of Docker, FastAPI, or databases is necessary.