This project aims to build tooling to gather data from Path of Exile's Public Stash Tab API (see also the older community wiki documentation).
The main component in this project is the indexer application. It offers an easy way to consume the Public Stash Tab API river and flush it data sinks like RabbitMQ or S3 for further processing. More on the installation & usage in the dedicated documentation.
├── Makefile
├── README.md # you are here
├── crates
│ ├── indexer # the main application
│ ├── stash-api # an internal library that `indexer` uses
│ # below are some internal prototypes, you can ignore for now
│ ├── stash-differ
│ ├── trade-api
│ ├── trade-common
│ └── trade-ingest
├── notes # some notes for myself
├── infra # internal scripts, CI parts and documentation for my own `indexer` deployment
└── shell.nix
There is infra/docker-compose.yaml
defines a setup of indexer
and some of the other prototypes.
Feel free to use or copy any of it.
indexer
- setup of theindexer
service to start fetching and feed the data stream into a RabbitMQ instancerabbitmq
- a RabbitMQ instance forindexer
to ingest newStashRecord
batches into andtrade-ingest
to read data from- setup of the
trade-ingest
&trade-api
services to consume above stream and expose it via its REST-like API, respectively trade-store
- a PostgreSQL instance fortrade-ingest
to ingest into andtrade-api
to read data fromotel-collector
- an OTLP setup (integrating with New Relic) to investigate metrics of theindexer
,trade-ingest
,trade-api
reverse-proxy
- exposes a reverse proxy setup via nginx to easily access all services (see below)
Here is a list of services in this local development setup and and their credentials (username
:password
):
- Trade API (public)
- RabbitMQ Control Panel (Basic Auth:
poe:poe
) - Jaeger Dashboard (public)