Skip to content

Latest commit

 

History

History
39 lines (23 loc) · 2.56 KB

Macrostrat system architecture.md

File metadata and controls

39 lines (23 loc) · 2.56 KB

Macrostrat system architecture

Macrostrat is a web application built atop PostGIS, with APIs in Python and NodeJS. We recently completed a migration of some legacy components from MariaDB, and we are nearing completion of a new Kubernetes-based infrastructure for the system.

Core system

Macrostrat's core is a high-performance geospatial database engine and support geological APIs and modeling software

  • PostGIS database housing maps, columns, and other information
  • Containerized, Kubernetes-based infrastructure running in UW–Madison's Center for High-Throughput Computing (CHTC)
  • S3 object store for managing and serving files

The control infrastructure for Macrostrat's core system, including database definitions for our PostGIS database, control scripts, and ingestion pipelines, is housed in the UW-Macrostrat/macrostrat GitHub repository.

APIs

Macrostrat provides information to geological web applications (including our own apps) using public web services (APIs). These are housed in several repositories.

Web interface

Macrostrat's main web application houses interfaces for interacting with Macrostrat data. This application is housed in the UW-Macrostrat/web repository.

Shared modules

We maintain shared modules that help drive the backend and frontend of our applications. Many of these are organized into monorepos:

  • UW-Macrostrat/python-libraries: Python libraries used throughout Macrostrat server and control applications, including tools for database access and data processing (published to PyPI)

Rockd

The Rockd mobile app makes heavy use of Macrostrat services for data discovery, but has its own infrastructure for social features.

  • Code for the Rockd mobile app and underlying infrastructure is currently housed in a single private repository.
  • Rockd's website is housed in the public UW-Macrostrat/rockd-website repository.